例如,在目录中,我有名为name1.eps, name2.eps, ...
的N个.eps文件以及更多的pdf文件。但是在这些pdf文件中,确实存在与pd文件具有相同文件名的N个pdf文件,即name1.pdf, name2.pdf,...
。
所以我想要一个可以扫描当前目录的批处理,列出所有eps文件和相应的pdf文件列表。
最后我想要另一个名为convert.bat
的批处理,它使用两个参数来运行一系列命令,如下所示
convert.bat name1.eps name1.pdf
convert.bat name2.eps name2.pdf
.....
.....
convert.bat
首先比较name.eps和name.pdf的修改时间,如果name.eps的修改时间比name.pdf更新,那么它将运行epstopdf name.eps
,否则它什么都不做。
我真的是使用cmd批处理的新手。有人可以教我如何实现我上面提到的整个过程。非常感谢你!
答案 0 :(得分:0)
我找到了办法。以下批处理文件完成整个工作。
SETLOCAL ENABLEDELAYEDEXPANSION
for %%G in (*.eps) do @if not exist "%%~nG.pdf" (epstopdf "%%G") else (
(for /f "delims=" %%i in ('dir /B /O:D "%%G" "%%~nG.pdf"') do set newest=%%~xi) & (
if !newest!==.eps epstopdf "%%G"))