- 变量操作:
查看: set 定义变量: set val=abc 提示输入变量: set /p val=请输入变量:val 替换: set val=%val:a=b% #把变量%val%中的a替换成b 截取: set val=%val:~0,3% #截取val的前3位 合并: set val=%a%%b% 计算: set /a a=%b%+1 #设置变量a的值为变量b+1
- 调用语句:
a.bat b.bat #在a.bat中调用b.bat: 直接调用: call b.bat 传递参数: call b.bat %1 %2 ... call b.bat %* 简写: @b.bat 查看脚本目录: echo %~dp0
- 判断语句:
a. 语法:if 条件 ( 逻辑 ) else ( 逻辑 )
b. 条件:
判断字符串是否相等: "字符串1"=="字符串2" 判断数值是否相等: 数值1 equ 数值2 判断文件/文件夹是否存在: exist 文件名 判断变量是否已定义: defined 变量 判断上个语句的返回值: %errorlevel% #为0执行成功,否则执行失败
c. 表达式:
中文含义 关系符 英文解释 等于 equ equal 大于 gtr greater than 大于或等于 geq greater than or equal 小于 lss less than 小于或等于 leq less than or equal 不等于 neq no equal
- 循环语句:
a. 语法:for %%a in (%b%) do ( 逻辑 )
b. 用法:
遍历当前目录下的所有文件: for %%i in (*) do ( echo %%i ) 遍历脚本中的所有参数: for %%i in (%*%) do ( echo %%i ) 输出文本中以,分隔的第二段内容: for /f "delims=, tokens=2" %%i in (test.txt) do ( echo %%i ) 遍历当前目录下的所有文件夹: for /d %%i in (*) do ( echo %%i ) 递归遍历当前目录下的所有文件(包含子目录): for /r %%i in (*) do ( echo %%i ) 建立序列: for /l %%i in (1,2,5) do ( echo %%i ) 输出: 1 3 5
- 字符集操作:
查看: chcp 切换: chcp 936 #简体中文 chcp 65001 #utf-8
- 清屏:
cls
- 显示/修改时间、日期:
日期: date 时间: time 只显示: date /t
- 宏操作(别名):
创建: doskey lee=cd e:\test $t dir #$t是分隔符 使用: lee 查看历史记录: doskey /history 设置历史记录保存条数: doskey /histsize=1
- 退出脚本:
exit /b 状态码
- 查看帮助文档:
dir /? help dir
- 跳转语句:
创建标签: :label 跳转到标签: goto label 死循环: :test echo test goto test
- 注销:
logoff #linux下是logout
- 暂停程序的执行:
pause
- 打印操作:
显示打印列表: print 删除指定文件: print /c test.txt 追加打印文件: print /p test.txt 清空: print /t
- 修改dos窗口的提示符:
prompt $p$g
- 排序:
正序: sort test.txt 反序: sort /r test.txt 输入排序: sort #结束按ctl+z+回车
- 显示dos版本号:
ver
- 显示磁盘卷标和序列号:
vol
- 扫描磁盘:
立即扫描: sfc /scannow 开机自动扫描: sfc /scanboot 本文转自 bilinyee博客,原文链接: http://blog.51cto.com/12173069/2071860 如需转载请自行联系原作者