我对创建 .bat 文件的经验很少 - 我有几个 .bak 文件需要压缩 - 此目录会定期收到新的 .bak 文件。我正在尝试设置一个作业来检查是否有任何 .bak 文件并对其进行压缩,我想传递 .bak 文件名,以便 .zip 文件与 .bak 文件具有相同的名称。
所以 TestFile1.bak = TestFile1.zip, TestFile2.bak = TestFile2.zip...等等
到目前为止,我已经拥有了它,它只能压缩单个文件,或者将许多 .bak 文件压缩为一个 .zip 文件。我不知道如何传递 .bak 文件名。
7za a -tzip "C:\TestArchive\AutoArchived\" "C:\TestArchive*.*" -mx5
答案1
FOR 命令可以对您有所帮助。
for /f "delims=#" %%i in ('dir /b *.bak') do (
echo now working on file %%i
rem use %%i in the 7zip command to compress only one file
)
这将循环 dir 命令返回的所有文件。每次循环 %%i 将包含一个文件,然后您可以将其用于 7zip 命令。