我的目的是从可移植版本的 perl 运行 perl 脚本latexdiff.pl
。有一个批处理文件portableshell.bat
用于设置 perl 环境。如果我打开它并输入perl latexdiff.pl additional_arguments
,程序就可以正常工作。但是,我想使其自动化。我创建了一个批处理文件useLatexdiff.bat
并将以下内容放入其中:
portableshell.bat
perl ..\MiKTeX\texmfs\install\scripts\latexdiff\latexdiff.pl
perl环境设置正确,但是第二行没有执行,如何实现执行第二行?
注意:这是一个常见问题。另一个用例是打开 Unix shell 并在那之后从该 shell 执行 Unix 命令。
答案1
您的问题是批处理文件的工作方式如下:它执行一个命令并等待该命令完成后再执行下一个命令。
因此,在您的情况下,它会在 portableshell.bat 处等待,直到完成,但这可能不会发生。
幸运的是,有几种方法可以执行命令并跳到下一个命令,而无需等待第一个命令完成。对于调用批处理文件,您可以使用 call filename.bat 来调用它并立即跳到下一行。
您的批处理文件将如下所示:
call portableshell.bat
perl ..\MiKTeX\texmfs\install\scripts\latexdiff\latexdiff.pl
如果您有可执行文件(例如,perl 文件),并且想要执行相同的操作,请使用命令start
。
尽管上述操作应该可以工作,但如果不行,您可能需要编辑 portableshell.bat 文件并在最后附加 perl 命令。