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

时间:2010-06-03 22:13:34

标签: batch-file

我正在尝试创建要运行的批处理文件:

.tex --> .dvi : latex filename.tex  
.dvi --> .ps  : dvips -o filename.ps filename 
.ps --> .pdf  : ps2pdf filename.ps

我试过了:

latex %1
dvips -o %~n%1.ps %n%1
ps2pdf %~n%1.ps

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

2 个答案:

答案 0 :(得分:6)

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

latex %1 
dvips -o %~n1.ps %~n1
ps2pdf %~n1.ps

这就是诀窍

答案 1 :(得分:1)

  1. 执行latexdvips时,您无需指定扩展名。
  2. ps2pdf需要扩展名。
  3. 以下作品因为我每天都使用它。相信我!
  4. rem this is a batch file, named mybatch.bat
    rem it takes a filename without extension
    
    echo off
    
    latex %1
    dvips %1
    ps2pdf %1.ps