使用参数合并单个命令中的多个命令

时间:2014-01-19 04:27:00

标签: batch-file terminal command

此问题是this的变体。

在我的情况下,该命令有一个参数。例如,假设我使用texlive处理sample.tex,分别生成dvi,ps和pdf。命令将是

latex sample.tex
bibtex sample.aux
latex samlpe.tex
dvips sample.dvi
ps2pdf sample.ps 

我可以将它们合并到一个脚本文件中,以便每当我输入

makepdf sample.tex

所有上述命令都是按顺序执行的,所以我得到了一个pdf。

2 个答案:

答案 0 :(得分:1)

此文件为makepdf.bat

@echo off
latex %1
bibtex %~N1.aux
latex %1
dvips %~N1.dvi
ps2pdf %~N1.ps 

按照你之前的说法执行:

makepdf sample.tex

答案 1 :(得分:0)

这与aacini的代码相同,但它也支持长文件名元素。

@echo off
latex  "%~1"
bibtex "%~n1.aux"
latex  "%~1"
dvips  "%~n1.dvi"
ps2pdf "%~n1.ps"

如果任何命令是批处理文件,则在命令名称前添加call关键字。