没想到还会需要再次写批处理的一天,早先都是需要用时抱抱佛脚,导致现在都忘了差不多,既然这次刚好用到便做个记录,以加深印象。
命令
帮助
- help 命令
- 命令 /?
常用命令
- cd:切换目录
- cd ..:进入上一级目录
- cd \:进入当前盘符的根目录
- cd \d:切换盘符
- md:创建文件夹(md D:\a\b\c 连续创建)
- rd:删除文件夹
- rd /s:包含子文件夹
- rd /q:无需确认
- del:删除文件
- ver:查看系统版本
- set:查看系统变量
- cls:清屏
- dir:显示当前目录文件
- tree:以树型显示目录结构
- type:显示文件内容
- more:逐行显示文件内容
- copy:复制文件
- find:查找文件
- time:显示当前时间
- time /t:不提示输入日期
- date:显示当前日期
- date /t:不提示输入时间
- ping
- ping -l:指定大小
- ping -n:指定次数
操作符
重定向
输入重定向
输出重定向
错误信息重定向
使用重定向隐藏一些命令的输出信息
管道
管道(piping)可以将前一个命令的输出结果作为下一个命令的输入:
命令链
可以用 () 把命令分组:
运算符
- equ:相等
- neq:不相等
- lss:小于
- leq:小于等于
- gtr:大于
- geq:大于等于
脚本
脚本的开始
- 关闭回显
- @:关闭当前行回显;
- echo off:从下一行开始关闭回显;
- 空行
- echo.:输出空白行
- 标题
- title:更改标题栏名称
- 颜色
- color:设置背景颜色
- 注释
- rem:注释(rem 是一条语句)
- :::效果同上
- 暂停
- pause:将显示“按任意键继续…”
跳转
变量
变量命名:
命名不区分大小写,可以使用字母、数字和符号,一般使用有意义的单词,多个单词使用小驼峰命名法。
变量值:
所有的变量值均以字符串形式存储。
设定变量值
变量的引用:
引用变量(包括内部变量),均使用 %
号包裹:OS%
。
变量的作用域:
在 Shell 中设置的变量适用于当前的实例,如果需要更近一步限定范围,可以使用 setlocal
于 endlocal
语句。
语句
if 语句
- if 语句:条件为真时执行;
- if not 语句:条件为假时执行;
- if…else 语句:条件为真和假时分别执行;
- if defined 语句:指定变量存在,则执行;
- if not defined 语句:指定变量不存在,则执行;
注:可以使用 @ 符号标记嵌套
for 语句
注:
- for 中的变量区分大小写;
- 在命令行交互式使用 for 时,使用的是
%variable
,脚本中则是%%varabile
;
程序返回码
批处理和其他脚本不同,并不能直接用 if 判断是否直接成功或失败,而是需要借助 errorlevel
命令。
返回码的错误类型值:
- 1:表示通常的错误(最常见);
- 2:表示执行错误,意味命令没有正确执行;
- -2:表示算术错误;