打开批处理文件并从那里执行命令

打开批处理文件并从那里执行命令

我的目的是从可移植版本的 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 命令。

相关内容