我对 Windows PowerShell(和一般的 Windows 控制台命令)不太熟悉,但我希望编写一个批处理文件,它可以从文件夹中的特定文件创建分散的 .zip 存档,然后删除除 .zip 文件之外的所有文件。所以,我有一个文件夹为“C:\myfolder\”,其中有一些文件,如:myfile0001.a myfile0001.b myfile0001.c myfile0002.a myfile0002.b myfile0002.c myfile0003.a myfile0003.b myfile0003.c .. 。 等等。
我想为每个 myfileXXXX.a + myfileXXXX.b + myfileXXXX.c 包创建一个 .zip 并将 .zip 命名为文件名(例如 myfile0001.zip 将包含 myfile0001.a + myfile0001.b + myfile0001.c) .
我知道我可以使用此代码逐个创建每个 .zip 存档:
powershell -Command "& {Compress-Archive -Path C:\myfolder\myfile0001.* -CompressionLevel Optimal -DestinationPath C:\myfolder\myfile0001.zip}"
这段代码可以很好地删除除 .zip 档案之外的所有文件
powershell -Command "& {Remove-Item C:\myfolder\*.* -Exclude *.zip}"
我无法解决的是创建一个可以循环遍历所有 myfileXXXX.* 的 for 循环,并使用 XXXX 作为递增值创建一个 myfileXXXX.zip。