2014-01-19 3 views
0

Этот вопрос является разновидностью this.Объединение нескольких команд в одной команде с аргументом

В моем случае команда имеет аргумент. Например, предположим, что я обрабатываю sample.tex с texlive, чтобы генерировать 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 ключевое слово перед именем команды.

Смежные вопросы