批处理文件 - 从传递的参数获取没有扩展名的文件名

Fel*_*lix 8 batch-file

我正在尝试创建一个批处理文件来运行:

.tex --> .dvi : latex filename.tex  
.dvi --> .ps  : dvips -o filename.ps filename 
.ps --> .pdf  : ps2pdf filename.ps
Run Code Online (Sandbox Code Playgroud)

我试过了:

latex %1
dvips -o %~n%1.ps %n%1
ps2pdf %~n%1.ps
Run Code Online (Sandbox Code Playgroud)

假设这~n将给我文件名而没有传递文件的扩展名.但是,它不起作用(除了第一行).有谁知道正确的版本?

Fel*_*lix 6

好吧,一些反复试验给了我

latex %1 
dvips -o %~n1.ps %~n1
ps2pdf %~n1.ps
Run Code Online (Sandbox Code Playgroud)

这样做的伎俩

  • 我认为这些可能是有用的知道:完全限定名称:%~f1驱动器:%~d1路径:%~p1文件名:%~n1文件扩展名:%~x1短文件名:%~sn1短文件扩展名:%〜 sx1驱动器和目录:%~dp1文件名和扩展名:%~nx1 (5认同)