1、常用DOS命令:https://blog.csdn.net/qq_38676810/article/details/79584531 或 https://www.jb51.net/article/140920.htm 或 https://www.w3cschool.cn/dosmlxxsc1/(W3C文档)
d:+回车键——进行盘符切换 dir(directory): 列出当前目录下的文件以及文件夹【dir /s 所有目录】 cd(change directory): 改变指定目录(进入指定目录)【cd.. 退回到上一级目录; cd 退回到根目录】 md(make directory): 创建目录 rd(remove directory): 删除目录(只能是空目录) copy: 拷贝一个或多个文件到指定盘上 robocopy:目录复制命令(快速复制) https://blog.csdn.net/wkl1237/article/details/52448731 del(delete): 删除文件 exit: 退出dos命令行 cls(clear screen): 清屏 ren: 重命名 tree: 显示文件目录树,含最底层目录 date: 查看日期 time: 查看时间 regedit: 注册表编辑器 mode: 设置DOS窗口的尺寸
2、Tab键: 补全 文件名( 这个不是命令,是快捷方式)
3、目录中*是通配符,如:
*.bat 所有扩展名是bat的文件
a* 显示所有文件名是a的文件
a? 显示所有文件名是以a开头,并只有2个字母,?代表任意字符
4、 bat处理运行node、npm等 安装程序的命令时,执行完第一个就会关闭窗口的问题:https://zhidao.baidu.com/question/585475292689414325.html 或 http://ask.zol.com.cn/x/3099519.html
解决方法,使用 call 调用,这些命令。 如 call npm init
5、bat文件运行完后就会自动关闭窗口:两种方式实现
a、pause:不关闭窗口,但不能继续输入命令了。
b、cmd:不关闭窗口,可以继续输入命令,并执行。如 cmd /k ,带上K参数,cmd命令输出的内容就不会显示
6、输出空行:https://zhidao.baidu.com/question/751039304703168172.html
7、批处理的流程控制:常用 goto label 语句进行流程控制。 https://blog.csdn.net/turbo_j/article/details/79540942
goto 跳转:https://www.cnblogs.com/canglongdao/p/12509687.html
执行 到 label ,会继续往下执行。
8、批处理里 &、&&和|| 三个逻辑命令符的意思及区别:https://www.hack520.com/568.html 或 https://blog.csdn.net/Oliver_xpl/article/details/88717522
& 顺序执行多条命令,而不管命令是否执行成功; && 当&&前面的命令成功执行时,执行&&后面的命令,否则不执行; || 当||前面的命令失败时,执行||后面的命令,否则不执行。
9、cmd中启动批处理程序.bat后传入参数:https://blog.csdn.net/naibozhuan3744/article/details/80500766
这个功能在 node 的 包中经常被使用,script 脚本命令 写入的参数会传递到 cmd批处理文件中。
批处理教程:http://docs.30c.org/dosbat/ 或 https://www.w3cschool.cn/pclrmsc/(W3C网站)
批处理 与 DOS命令 的关系:https://blog.csdn.net/zlpzlpzyd/article/details/18714743
(个人理解)DOS命令是对系统的操作,批处理是脚本,有逻辑。即批处理的功能是,使用批处理的逻辑,去调用DOS命令,执行一些操作。
1、批处理出现乱码是因为字符集问题。编辑批处理文件时,以ANSI方式编辑即可。(批处理当作一种工具,帮助我们快速解决某些问题)
2、批处理的注释:https://www.cnblogs.com/xiaoqisfzh/p/5565829.html(大部分注释都是单独开始一行的)
行间注释使用 : %注释内容%
3、echo 与 pause:第一条语句放在cmd命令框目录的后面;最后一条命令执行完就会关闭命令框。这两种过程,都不利于我们发现执行情况。所以一般在开始 和 结尾各加一个命令:
@echo off %关闭命令本身的回显% echo 测试 pause %暂停关闭命令框%
注:关闭命令本身的回显,命令前面的目录路径也会一起关闭的。
4、if 语句:https://www.w3cschool.cn/pclrmsc/gmjsnz.html
5种if语句的基本语法:
1。判断两个字符串是否相等,if "字符串1"=="字符串2" command 语句;
2。判断两个数值是否相等,if 数值1 equ 数值2 command 语句;
3。判断判断驱动器,文件或文件夹是否存在,if exist filename command 语句;
4。判断变量是否已经定义,if defined 变量 command 语句;
5。判断上个命令的返回值,if errorlevel 数值 command 语句。
多条件 的 if 语句:可以使用 else
5、set 命令(设置变量):https://www.w3cschool.cn/pclrmsc/wlreo3.html (获取变量值使用 %变量名%,如 echo %var%)
a、设置 变量的值 为脚本定好的:
set var=abcd echo %var%
b、设置 变量的值 为用户输入的:
set /p var=请输入变量的值: %只需要加一个"/P"参数就可以了% echo 您输入了%var%
c、设置 变量的值 可以是一个表达式(简单的运算):
set /p input=请输入计算表达式: %输入内容:19-10% set /a var=%input% echo 计算结果:%input%=%var%
6、for 循环语句:https://www.w3cschool.cn/pclrmsc/yqaho0.html
7、goto 流程跳转:https://www.cnblogs.com/Braveliu/p/5077868.html
set /p input=请输入字母A或B: if "%input%"=="A" goto A if "%input%"=="B" goto B pause %两个条件都不满足,执行这里% exit :A echo 您输入的字母是A pause exit :B echo 您输入的字母是B
常用批处理
1、垃圾文件清除.bat
@echo off echo 正在清除系统垃圾文件,请稍等...... del /f /s /q %systemdrive%*.tmp del /f /s /q %systemdrive%*._mp del /f /s /q %systemdrive%*.gid del /f /s /q %systemdrive%*.chk del /f /s /q %systemdrive%*.old del /f /s /q %windir%*.bak del /f /s /q %windir% emp*.* del /f /a /q %systemdrive%*.sqm del /f /s /q %windir%SoftwareDistributionDownload*.* del /f /s /q "%userprofile%cookies*.*" del /f /s /q "%userprofile% ecent*.*" del /f /s /q "%userprofile%local settings emporary internet files*.*" del /f /s /q "%userprofile%local settings emp*.*" echo 清除系统垃圾文件完成! echo. & pause
2、可以选择任务的批处理
@echo off echo 请选择执行命令 echo ==================== echo 1.查ip地址 echo 2.打开212共享文件 echo 3.计算器 echo 4.创建wifi设置 echo 5.开启wife echo 6.关闭wife :abc echo ===================== set /p user_input=请输入需要执行命令的 选项数字 if %user_input% equ 1 ipconfig if %user_input% equ 2 start \10.8.206.212临时共享区 if %user_input% equ 3 calc if %user_input% equ 4 netsh wlan set hostednetwork mode=allow ssid=4Gtest key=12345678 if %user_input% equ 5 netsh wlan start hostednetwork if %user_input% equ 6 netsh wlan stop hostednetwork echo 是否继续 echo ===================== set /p isShutter=输入n关闭 if %isShutter% equ n exit goto abc
3、如何提取文件夹内所有文件的名称 https://jingyan.baidu.com/article/9158e0004080baa2541228b6.html
DIR *.* /B > 文件名称列表.txt
4、利用批处理命令批量修改文件名 https://baijiahao.baidu.com/s?id=1605159303922067169&wfr=spider&for=pc&isFailFlag=1
bat 可以把数据写入 xls文件中。