2014-01-19 107 views
0

此问题是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文件。

回答

1

这个文件是makepdf.bat

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

执行它,你之前说:

makepdf sample.tex 
+0

谢谢,但这是行不通的。当我使用这组命令时,终端会说'进入扩展模式'并冻结在那里。但它工作正常,如果我只是用实际文件名替换参数。你能否指出一些解释争论的参考? – Della

0

这是一样的aacini的代码,但它也支持长文件名的元素。

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

如果有任何命令都那么批处理文件的命令名称前添加一个call关键字。