CMD:从源路径(变量)压缩文件

时间:2015-01-27 09:12:08

标签: batch-file cmd zip

如果存在pdf文件,我想用.docx文件(相同的文件名)压缩它。添加源变量后,我的批处理中断 - 不知道为什么。

echo. Input source path
set /p "source="
set "destination=C:\Users\<user_name>\Documents"    
for "%source%\%%f" in (*.docx) do if exist "%source%\%%~nf.pdf" 7za.exe a -tzip -mx5 -mmt=on "%destination%\%%~nf.zip" "%source%\%%~nf.docx" "%source%\%%~nf.pdf"

1 个答案:

答案 0 :(得分:0)

您正在错误地调用for循环。您需要将%source%放在括号内。 %%f是变量,而不是源文件。

for %%f in (%source%\*.docx) do if exist "%source%\%%~nf.pdf" 7za.exe a -tzip -mx5 -mmt=on "%destination%\%%~nf.zip" "%source%\%%~nf.docx" "%source%\%%~nf.pdf"