我有一个 .bat 文件执行几个命令:
- 如果自上次编译以来做了一些修改,则编译文档并将
pdflatex
其外部化为.pdf 文件tikzpicture
- 在当前目录中、所有子目录中、这些子目录中的所有文件上执行以下 .bat 文件:
- 如果是.pdf文件,则执行
pdftk
解压为.txt文件 - 使用以下命令从 .txt 文件中提取超链接的位置
extractURIs.pl
第二个.bat 文件的代码是:
for /d %%i in (%cd%\*) do ( cd "%%i" & for %%f in (*.pdf) do pdftk %%f output Uncompressed%%~nf.txt uncompress && .\extractURIs.pl %%i %1 Uncompressed%2)
- 使用步骤 1 中编译的 .pdf 文件中的图像编译一个新文档,
pdflatex
并添加步骤 2 中创建的 .txt 文件中的链接。
就其本身而言,这个解决方案运行良好,但执行时间非常长,这是可以避免的:如果在tikzpicture
第一步中没有修改,则现有的.pdf 文件不会被修改,并且步骤 2 只能针对修改日期晚于 main.bat 文件执行开始日期的文件执行。
我怎么能够:
- 获取主 .bat 文件开始执行的时间(日期和时间),并将其作为参数传递给第二个 .bat 文件
- 修改给定的代码以便仅在执行开始时间后修改/创建
do (...)
文件时执行?%%f
我在 Windows 10 上对batch