我编写了一个批处理文件,我用它来创建一个包含来自乳胶文件的缩写和引用的文件。它工作得很好。我在记事本++运行菜单中使用它。我的问题是我每次都必须从批处理文件中更改文件名。我想创建一个可以处理任何文件的通用文件。
这是我的工作脚本
:: Called from Notepad++ Run
:: [path_to_bat_file] "$(CURRENT_DIRECTORY)" "$(NAME_PART)"
:: Change Drive and to File Directory
%~d1
cd %1
:: Run Cleanup
call:cleanup
tskill acrobat
pdflatex thesis.tex
bibtex thesis
pdflatex thesis.tex
pdflatex thesis.tex
makeindex.exe thesis.nlo -s nomencl.ist -o thesis.nls
pdflatex thesis.tex
START "" thesis.pdf
:cleanup
:: del *.log
del *.dvi
del *.aux
del *.bbl
del *.blg
del *.brf
del *.out
goto:eof
这是我的尝试
:: Called from Notepad++ Run
:: [path_to_bat_file] "$(CURRENT_DIRECTORY)" "$(NAME_PART)"
:: Change Drive and to File Directory
%~d1
cd %1
:: Run Cleanup
call:cleanup
tskill acrobat
pdflatex %2
bibtex thesis
pdflatex %2
pdflatex %2
makeindex.exe thesis.nlo -s nomencl.ist -o thesis.nls
pdflatex %2
START "" %2.pdf
:cleanup
:: del *.log
del *.dvi
del *.aux
del *.bbl
del *.blg
del *.brf
del *.out
goto:eof
但是正如您所看到的那样,bibtex 和 makeindex.exe 命令行存在一个挑战,因为不应该为 bibtex 提供扩展名,因此引用记事本 ++ 中当前打开的文件的 %2 将不起作用。我也不知道如何指定全局 .nlo 和 .nls 以便 mnakeindex 可以找到与 tex 文件名对应的正确文件名。
我是从记事本++中批量执行此操作的,因为我无法使用文本生成命名法!
谢谢你的帮助
事实证明,将thesis
批处理文件中的所有发生率替换为%2
实际有效。我想我问得太早了,但如果有人有类似的问题,这里是解决方案:
:: Called from Notepad++ Run
:: [path_to_bat_file] "$(CURRENT_DIRECTORY)" "$(NAME_PART)"
:: Change Drive and to File Directory
%~d1
cd %1
:: Run Cleanup
call:cleanup
tskill acrobat
pdflatex %2.tex
bibtex %2
pdflatex %2.tex
pdflatex %2.tex
makeindex.exe %2.nlo -s nomencl.ist -o %2.nls
pdflatex %2.tex
START "" %2.pdf
:cleanup
:: del *.log
del *.dvi
del *.aux
del *.bbl
del *.blg
del *.brf
del *.out
goto:eof