首页 > 技术文章 > 批处理常用命令

yunxiaofei 2019-03-27 21:38 原文

最近工作中会碰到一些批处理命令的使用,记录如下:

1. 同时调用多个外部程序:在调用程序前添加start,更加详细的用法可使用help查询

2. 批处理中如果直接调用外部程序,后面的命令不会执行,如果想要继续执行后面的命令,在调用程序前添加call。

3. 如果多次调用某个程序,并且该程序每运行一次都会出现“按任意键继续”,这时可以在批处理文件的开头写上:

  @echo off<nul 3>nul 

4. 文件复制使用copy,文件夹复制使用xcopy

5. 关于for命令,看到一篇不错的文章链接:

[1] 批处理for命令使用指南

练习过程如下:

/l 的练习:

@echo off
for /l %%i in (1,1,5) do md A_00%%i
pause

执行后在文件夹下生成A_001-A_005的文件夹

/f 的练习:

@echo off
:: /f参数可以显示文件内的内容
for /f %%i in (a.txt) do echo %%i
echo.
:: 没有/f参数,返回a.txt
for %%i in (a.txt) do echo %%i
echo.
:: delims指定分隔符;tokens指定取第几列,默认取第一列
for /f "tokens=2 delims= " %%i in (a.txt) do echo %%i
echo.
:: 这里必须是%%j,因为i之后是j
for /f "tokens=2,3 delims= " %%i in (a.txt) do echo %%i %%j
echo.
:: 通配符*取这一行的所有或者这一行剩余部分
for /f "tokens=* delims= " %%i in (a.txt) do echo %%i
echo.
:: 通配符*取这一行的所有或者这一行剩余部分
for /f "tokens=2,* delims= " %%i in (a.txt) do echo %%i %%j
echo.
:: skip忽略文件前几行
for /f "skip=2 tokens=2,* delims= " %%i in (a.txt) do echo %%i %%j
pause

a.txt的内容:

第1行第1列 第1行第2列 第1行第3列 
第2行第1列 第2行第2列 第2行第3列 
第3行第1列 第3行第2列 第3行第3列

返回结果:

 

推荐阅读