如果存在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"
答案 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"