MS-DOS包含80多条命令,文件要以.bat命名才能在DOS中运行。DOS适合用来做环境配置。不能将命令输出保存到变量中(但可以用for实现)。
1.CLS清屏
2.DATE显示当前日期,DATE<ENTER自动按键ENTER,这里将ENTER键作为一个文件
3.TIME显示当前时间
4.DIR 列出指定目录的所有子目录及文件,相当于linux的ls:DIR *.BAT
5. SET a=B 设置一个变量,当前命令行中可以跨文件访问该变量。
SET /P a=提示字符。从终端读入一个字符串给a。
6.SET a=删除全局变量a
7.%d,%da%,单字符变量用%引导,多字符变量用%..%引导
8.SET查看当前命令行所有全局变量
9.TYPE显示指定文件的内容或创建一个文件,相当于linux的cat,more等
10.COPY srcp desp复制文件
11.REN/RENAME 重命名指定文件。文件支持通配
12.DEL/ERASE 删除指定文件。文件支持通配
13.VER 显示当前DOS或WINDOWS版本
14.VOL显示指定的硬盘名,VOL F:显示F盘的名字
15.PROMPT 修改当前DOS的提示符。PROMPT $P $G 以当前目录路劲和>作为提示
16.COMP file1 file2比较2个文件是否一致
17.EDIT file编辑指定的文件。Alt +f可以选择退出
18.ECHO 输出指定的字符串。ECHO OFF/ON 开关回显
19.@用于一句命令之前:当前行不显示回显
20.REM 都可以作为注释行
21.: 用来添加标签
22.GOTO 标签,跳到指定的标签位置执行
23.PAUSE +提示文本: 暂停命令
24. CHOICE /C:ABCD 指定A,B,C,D为可选项,当选择后依次返回错误层1,2,3,4,通过%ERRORLEVEL%可以获取该错误层
25.SHIFT 将命令行参数左移一位,如果没有了该位为空
26.FOR %varible IN(set)DO command :
FOR /F %i IN (lk.txt) DO ECHO %i 一行一行的输出
FOR /F %i IN (‘DATE /t’) DO SET var=%i 将命令执行结果保存在变量中
27.IF指令:常与GOTO连用
A.比较2个字符串:
IF [NOT] str1==str2 (...,多行COMMAND,...)
IF X%1==X (..)测试入参%1是否为空的方法,X可以为任意字符
B.检查文件是否存在
IF [NOT] EXIST filepath (...,多行COMMAND,...)
C.测试错误层值
IF [NOT] ERRORLEVEL errornum (...,多行COMMAND,...)
如果ERRORLEVEL >=则执行;NOT<则执行
IF ERRORLEVEL 2 IF NOT ERRORLEVEL 3 ()表示错误层为2则执行
IF中没有比较运算符。
%ERRORLEVEL%可以引用上一条命令的返回码
28.CMD 在当前命令行中启动又一个命令行。EXIT退出当前命令行
29.CALL BAT脚本 :调用BAT脚本,在脚本中可以访问上一个脚本中设置的变量。
批处理文件可以形成嵌套结构
30.CHDIR dirpath 改变/显示当前路径
31.MKDIR 创建一个文件
32.RMDIR 删除一个子目录
33.MOVE 目录或文件搬移
34.SUBST 盘A 盘B : 用A盘取代B盘
SUBST P: C: \SYS 用P盘取代C:\SYS文件,这时硬盘会多一个P:盘,为C: \SYS的映像. SUBST P: /D删除这种映射
28.> , >>, < ,<< 文件重定向
29. | :管道
35.FIND “字符文本” file1 file2 ... Filen 输出文件中包含“字符文本”的所有行,字符文本上必须加双引号
36.MORE将文本分页显示
37.SORT 按字码大小排序每一行文本
38.NUL: 相当于linux的null文件
本文转自 a_liujin 51CTO博客,原文链接:http://blog.51cto.com/a1liujin/1656772,如需转载请自行联系原作者