我是编程的新手,感谢老板提供的新任务。 我试图运行批处理文件分别压缩文件夹中的多个文件。 所以,我希望file1.txt压缩到file1.zip,依此类推其他文件。
我只有以下代码:
for /f "tokens=*" %f in ('dir /b *.DAT') do "c:\Program Files\7-Zip\7z.exe" a "%f.7z" "%f"
我的问题:当我在导航到目标文件夹后在cmd上运行它时,它可以工作,但是当我将它存储在批处理文件中并从目标文件夹运行它时,它就无法工作。
请帮助我确定在代码中需要更改的内容和位置。
此致 AK
答案 0 :(得分:3)
对于批处理文件,元变量(循环控制变量)要求%
加倍,所以当你的意思是%f
时,用%%f
替换每个the loop-control variable
& #34; F"`
答案 1 :(得分:1)
您的代码似乎很好。问题是,当您在批处理文件中运行它时,需要额外添加%标记。
在批量尝试中:
for /f "tokens=*" %%f in ('dir /b *.DAT') do "c:\Program Files\7-Zip\7z.exe" a "%%f.7z" "%%f"