我刚刚创建了以下批处理文件,它将我所有的lyx文档保存为tex文件:
cd /d "D:\"
:: if the "for"-command is executed from the command line, just use "%" rather than "%%"
for /R %%g in (*.lyx) do "C:\Program Files (x86)\LyX 2.1\bin\lyx.exe" --force-overwrite --export pdflatex "%%g"现在的问题是,批处理使用的不是*.lyx文件,而是*.lyx~文件,据我所知,这些文件是某种类型的备份文件,不包含最新的内容。
如何修改批处理文件,使其接受*lyx文件而不是*.lyx~文件?
任何建议都会有很大帮助。
最佳:-)
PS:如果我在命令行中输入这段代码(不使用批处理),那么一切都很好。
发布于 2015-07-24 17:35:42
@Edit1 1:添加了tokens选项。现在它在带空格的子项目中工作。
修改for循环以:
for /F "tokens=*" %%g in ('dir /b /s *.lyx') do if "%%~xg" equ ".lyx" (
"C:\Program Files (x86)\LyX 2.1\bin\lyx.exe" --force-overwrite --export pdflatex "%%g"
)另一个解决方案是使用forfiles。
至于第三条评论,我认为两者都是,但它在最后做的是.lyx~。
要查看批处理文件的输出,只需从cmd窗口启动它。
https://stackoverflow.com/questions/31614947
复制相似问题