我有ISO映像一吨的文件夹。 我发现,很多图片都在他们的虚拟数据以达到原来的DVD的大小。 我可以通过荏苒起来节省空间的巨大数额。 我试图创建一个批处理文件,但它无法正常工作。
所以,我基本上希望它创建一个.7z压缩的文件夹中的每个文件,然后删除原始文件。
下面是我得到的。 它呼啸而过的文件,但它在文件的移动之后失败。 找不出原因:
function zipFiles()
{
dir *.iso| ForEach-Object { & "7z.exe" a -mx9 $_.BaseName $_.Name }
}
function delFiles()
{
dir *.iso| ForEach-Object { & Remove-Item $_.BaseName $_.Name }
}
zipFiles
delFiles
更改delFiles功能:
function delFiles()
{
dir *.iso| ForEach-Object { Remove-Item $_.FullName }
}
尝试这个:
pushd C:\...[path to folder]
for /r %%a in (*) do (
if "%%~xa"==".iso" (
7z a "%%~na.zip" "%%~a"
if exist "%%~na.zip" (
Del "%%~na.iso"
)
)
)
popd
注:我认真建议把一个Echo
的前7z
和Del
命令,看看有什么程序将运行它之前做。 如果你注意到我把它只能压缩.iso
文件。
最后我会建议使用此程序来代替:
pushd C:\...[path to folder]
7z a Images.zip *.iso
Echo.&Echo Check all the files are compressed
pause
del *.iso
popd
将它们全部压缩成1 .zip
文件,该文件可以在资源管理器中打开和蹦床网上单人仍然可以将文件accesed。 它也将提高压缩比。 我再次建议先检查所有文件都继续在中间暂停命令之前压缩。
看看7-zip.chm
文件在7-Zip文件夹更多的帮助。
文章来源: Powershell to Create a zip (or 7z) of each file in a folder then delete original file