首页 > 代码库 > 批处理bat常用命令

批处理bat常用命令

前两天迷上了LaTeX,觉得使用批处理命令编译生成pdf比较方便

于是有了:

type main.tex | find "\def\usewhat{dvipspdf}"&& goto dvipspdftype main.tex | find "\def\usewhat{dvipdfmx}"&& goto dvipdfmxtype main.tex | find "\def\usewhat{pdflatex}"&& goto pdflatextype main.tex | find "\def\usewhat{xelatex}"&& goto xelatextype main.tex | find "\def\usewhat{yap}"&& goto yap:dvipspdfdel main_dvipspdf.pdf main.dvi main.pslatex main.texbibtex mainlatex main.texgbk2uni main.outlatex main.texdvips -G0 -ta4 main.dvips2pdf main.ps main_dvipspdf.pdfdel *.aux *.bbl *.blg *.out *.thm *.toc *.lof *.fen *.toe *.lot *.ten *.log *.ps *.dvi *.loa /sstart main_dvipspdf.pdfexit:dvipdfmxdel main_dvipdfm.pdf main.dvilatex main.texbibtex mainlatex main.texgbk2uni main.outlatex main.texdvipdfmx -p a4 main.dviren main.pdf main_dvipdfmx.pdfdel *.aux *.bbl *.blg *.out *.thm *.toc *.lof *.fen *.toe *.lot *.ten *.log *.ps *.dvi *.loa /sstart main_dvipdfmx.pdfexit:pdflatexdel main_pdflatex.pdfpdflatex main.tex >> step1.txtbibtex main >> step2.txtpdflatex main.tex >> step3.txtgbk2uni main.out >> step4.txtpdflatex main.tex >> step5.txtren main.pdf main_pdflatex.pdfdel *.aux *.bbl *.blg *.out *.thm *.toc *.lof *.fen *.toe *.lot *.ten *.log *.synctex *.loa /sstart main_pdflatex.pdfexit:xelatexdel main_xelatex.pdfxelatex main.texbibtex maincopy /b fixbbl.txt+main.bbl main2.bbldel main.bblren main2.bbl main.bblxelatex main.texxelatex main.texren main.pdf main_xelatex.pdfdel *.aux *.bbl *.blg *.out *.thm *.toc *.lof *.fen *.toe *.lot *.ten *.log *.gz *.gz(busy)*.synctex *.loa /sstart main_xelatex.pdfexit:yapdel main.dvilatex main.texbibtex mainlatex main.texgbk2uni main.outlatex main.texdel *.aux *.bbl *.blg *.out *.thm *.toc *.lof *.fen *.toe *.lot *.ten *.log *.loa /sstart main.dviexit

  

  • del *.aux /s
    从当前目录及其所有子目录中删除所有的aux后缀文件。显示正在被删除的文件名。

  • ren main.pdf main_dvipdfmx.pdf
    把main.pdf重命名为main_dvipdfmx.pdf

  • start 1.jpg
    表示用系统默认软件打开1.jpg这个图片

  • start 1.pdf 表示用系统默认软件打开1.pdf这个文件
  • start 不加参数表示打开一个新的cmd终端
  • exit 表示退出终端

  • type log.txt | find “2011-11-11” |find “Data”
    显示log.txt文件中既含有2011-11-11也含有Data的行。

  • find /V /C “log.txt”
    统计文件log.txt的行数

  • dir
    无参数:查看当前所在目录的文件和文件夹。
    /w:以紧凑方式(一行显示5个文件)显示文件和文件夹。

  • dir /a /s /p
    /a:查看包括隐含文件的所有文件。
    /s:查看当前目录已经其所有子目录的文件和文件夹。
    /p:以分页方式(显示一页之后会自动暂停)显示。
    /ah:只显示出隐含文件。
    |more:前面那个符号是“|”上面的那个,叫做重定向符号,就是把一个命令的结果输出为另外一个命令的参数。
  • more也是一个命令,dir /w |more
    得到的结果和dir /w /p的结果是一样的。
    其他的参数大家可以用:dir/?查看

  • type main.tex | find “\def\usewhat{dvipspdf}” && goto dvipspdf
    如果在main.tex文件中查找到字符串”\def\usewhat{dvipspdf}”,执行程序段:dvipspdf

  • pause没有指定暂停时间的功能。

  • 指定暂停时间使用ping命令,
    即: ping -n 30 127.1>nul
    其中,30秒可以改为其他数值,代表希望要暂停的时间,可以修改。
    另外,>nul也是非必要项,在这里只起屏蔽ping的执行结果的作用。

  • pdflatex main.tex >> step1.txt

  • bibtex main >> step2.txt
  • pdflatex main.tex >> step3.txt
  • gbk2uni main.out >> step4.txt
  • pdflatex main.tex >> step5.txt
    为了查看其输出结果,可以分步将其执行结果输出到文件

批处理bat常用命令