来自(https://blog.csdn.net/liuker888/article/details/47355995 )
BAT脚本作为dos时代的批处理脚本,已经过时了,但是作为win系统里执行简单的脚本,简单的了解和使用可以减少重复性的劳动。
常用命令 1. echo 类似print 1 2 3 4 5 6 7 echo echo . echo , echo ; echo + echo [echo ] echo / echo \echo on echo off @ @echo off
2.errorlevel
每个命令运行结束,可以用这个命令行查看返回值,默认为0,出错errorlevel为1.
3. dir 1 2 3 4 5 6 7 8 9 10 11 dir dir /a dir c:/a:d dir /a:-d dir /b \p dir *.exe /s/a [:]d [:]- /b /c
注意:windows下文件的标准规范路径用的是\
4. cd 1 2 3 4 cd cd \ cd /d d:/sdkcd d:\
5. md 1 2 md d:\a\b\cmkdir e:\a\c\d
新建目录一个目录,如果前一级目录不存在,将会自动创建
6. rd
7. del 1 2 3 4 5 del d:\text.txt del /q/a/f d:\temp\*.* /q /f del /q/a/f/s d:\temmp\*.*
del是删除目标的子文件,rd是删除目标文件
8. ren重命名 1 ren d:\temp tmp #将tmep重命名为tmp
9. cls清屏 10. type显示文件内容 类似cat
1 2 3 type c:\boot.ini #显示指定文件的内容 type *.txt #显示当前目录所以txt文件的内容 chcp 65001 #将代码页改为utf-8,默认为GBK936
11. copy拷贝文件 1 2 copy c:\test.txt d:\test.bak copy con test.txt
经测试,会覆盖到原文件内容,而且回车就结束了,Ctrl+Z会显示为字符,并不能结束
1 2 3 copy 1 .txt + 2 .txt 3 .txt copy 1 .txt + 2 .txt copy test.txt +
12. title 设置cmd命令的标题 13. ver 显示系统版本 14. label和vol 设置卷标
15.pause暂停命令 16. rem和:: 注释命令 1 2 md rem 与mkdir相同type :: 显示文本内容
17. date和time日期和时间 1 2 3 date /t time /t 不带参数时,默认为修改时间、日期
18. goto和:跳转命令
标签行只是一个标签,也只能是一个标签,goto命令与:配合执行跳转命令。
19. find(外部命令)查找 1 2 3 4 find "abc" c:test.txt /i 忽略字符串大小写 /c 计数,显示含abc的行的行数,
20. more(外部命令)
21. tree 显示指定目标文件目录结构
22. & 顺序执行多条命令,不管命令是否成功执行
23. && 顺序执行多条命令,当碰到执行出错的命令后将不执行后面的命令
1 find \"ok\" c:\test.txt && echo 成功
24. || 顺序执行多条命令,当碰到正确的命令后将不执行后面的命令
1 find "ok" a.txt||echo 不成功
25. | 管道命令 管道命令:先执行前置命令,后对前置命令作为后置命令的目标
1 dir *.*/s/a | find /c ".exe"
26. >和>>输出重定向命令 >清除文件内容中的原有内容后再写入
>>追加内容到文件末尾,而不会清除原有的内容
主要讲本来显示在屏幕上的内容输出到指定的文件中,如果指定文件不搓澡,则会自动生成该文件。
1 2 3 4 5 6 type c:\test.txt >prn echo hello word >con copy c:\test.txt f:>nulcopy c:\test.txt f:>nul 2 >nul echo ^^W ^> ^W echo ^^W ^> ^W >c:\test.txt
注意:^ 和 > 是控制命令,要把它们输出到文件,必须在前面加个 ^ 符号
27. <重定向输入指令 从文件中获得输入信息,而不是从屏幕中,一般用于date、time、label等需要等待屏幕输入的指令
1 2 3 4 5 @echo off echo 2020 -6-22 >temp.txtdate <temp.txt del temp.txt
28. %n批参数 命令行传递给批处理的参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 %0 %1 %9 %* %~1 %~f1 %~d1 %~p1 %~n1 %~x1 %~s1 %~a1 %~t1 %~z1 %~$PATH:1
29. if 30. seltocal和endlocal 31. set 32. start 33. call 34. choice(外部命令) 35. assoc和ftype 36. pushd和popd 37. for 38. subst(外部命令) 39. xcopy