最后一次修改时间: 2018年6月27日 23:41:30 ==================================================================================================== 注意事项: ---------------------------------------------------------------------------------------------------- 批处理文件制作方法: 编写完后把*.txt文件后缀改为*.bat ---------------------------------------------------------------------------------------------------- 批处理文件出现乱码: 把文本文件另存为编码为ANSI的文本格式 ---------------------------------------------------------------------------------------------------- 运行(Win键+R键): cmd 控制台 ---------------------------------------------------------------------------------------------------- 屏蔽输出到屏幕上的显示: >nul 屏蔽标准输出在屏幕上的显示 2>nul 屏蔽出错显示 >nul 2>nul 无论对错,都屏蔽屏幕显示 ==================================================================================================== 符号 ---------------------------------------------------------------------------------------------------- > >> < 重定向 >和>>为导出 <为导入 ---------------------------------------------------------------------------------------------------- ^ 转义符,如果转义符后面的符号有特殊含义,那么只会执行普通含义 ---------------------------------------------------------------------------------------------------- | 管道符,把管道符前的命令输出结果重定向到管道符后面的命令中去 ---------------------------------------------------------------------------------------------------- & && || &的作用是用来连接n个DOS命令,并把这些命令按顺序执行,而不管是否有命令执行失败 当&&前面的命令成功执行时,执行&&后面的命令,否则不执行 当||前面的命令失败时,执行||后面的命令,否则不执行 ---------------------------------------------------------------------------------------------------- ~ 用在set语句中,和:同时使用时,起到截取字符串的功能 x正数 -x倒数 例如: set pp=123456 echo %pp:~0,2% :: 从第一个开始,截取两个字符 ---------------------------------------------------------------------------------------------------- :xx xx=响应命令 例:(":home"=响应命令,作用返回主页) ---------------------------------------------------------------------------------------------------- :: 等同于rem,注释 ==================================================================================================== 命令(更多请在cmd.exe中输入help): ---------------------------------------------------------------------------------------------------- @echo off 关闭回显,在开头 ---------------------------------------------------------------------------------------------------- d: d 为驱动器盘符 跳转到某个驱动器上 ---------------------------------------------------------------------------------------------------- path 为可执行文件显示或设置一个搜索路径 ---------------------------------------------------------------------------------------------------- title 批处理标题修改 ---------------------------------------------------------------------------------------------------- cls 清屏 ---------------------------------------------------------------------------------------------------- echo 输出命令 echo.命令可以空行 ---------------------------------------------------------------------------------------------------- pause 暂停执行命令,但有“按任意键继续”字幕 ---------------------------------------------------------------------------------------------------- timeout [/t] [/nobreak] /t 等待时间 /nobreak 忽略按键并等待指定的时间 等待一段指定的时间(秒)或等按任意键 ---------------------------------------------------------------------------------------------------- ping [/t /a /n /l /w /f /r] [IP] /t ping指定的主机,直到停止,停止处理并查看数据ctrl+c /a 将地址解析成主机名 /n 要发送的回显请求数 /l 发送数据包大小 /w 等待每次回复的超时时间(毫秒) /f 整段转发 /r 9 查询经过路由,最多9个 检测与目标主机的延迟 本机IP: 127.0.0.1 ping /n [次数] 127.0.0.1 >nul 2>nul ping本机IP制造延时 ---------------------------------------------------------------------------------------------------- call 主要用来进行批处理的内部调用(同一窗口调用,调用程序和被调用程序可以互相传递参数) ---------------------------------------------------------------------------------------------------- start start "" "[路径]" 不能内部调用,但能基本调用所有外部程序(非同一窗口调用,调用程序只能传递参数给被调用程序,不可回传) 在后面直接接网址,就可以打开浏览器并转到对应网址 要打开命名里面含有空格的文件(夹)必须用双引号引起来,前面也必须加上双引号 ---------------------------------------------------------------------------------------------------- rem 注释,便于别人阅读和你自己日后修改(开源用途) ---------------------------------------------------------------------------------------------------- set 显示、设置或删除变量。 显示变量 (set)前者显示当前已定义的所有变量及其值 设置变量 (set aa=abcd)此句命令便可向变量aa赋值abcd 删除变量 (set aa=) 此句命令即可删除变量aa set /p (变量)=提示:(文字) set /a (变量)=(变量计算数字) %date% 显示日期 %time% 显示时间 %0 批处理文件本身 %SystemDrive% 系统驱动器 %userprofile% 用户配置文件夹 %windir% 当前启动的系统的所在目录 reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v "注册名称" /d "文件路径"或者%0 /f 强制写入启动项 当前批处理本身路径:%0 当前盘符:%~d0 当前盘符和路径:%~dp0 当前盘符和路径的短文件名格式:%~sdp0 当前批处理全路径:%~f0 当前CMD默认目录:%cd% 系统启动文件夹 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 替换字符串 例如: set pp=123456 echo %pp:12=78% :: 变成了783456 ---------------------------------------------------------------------------------------------------- cd [路径] 跳转并显示指定驱动器中的当前目录 ---------------------------------------------------------------------------------------------------- type 显示文本文件的内容 ---------------------------------------------------------------------------------------------------- md 创建文件夹 ---------------------------------------------------------------------------------------------------- ren 重命名文件(夹) ---------------------------------------------------------------------------------------------------- copy xcopy 复制“C:\*.* D:\”或“C:\ab.exe D:\”(*:所有文件或所有后缀) ---------------------------------------------------------------------------------------------------- move 移动“C:\*.* D:\”或“C:\ab.exe D:\”(*:所有文件或所有后缀) ---------------------------------------------------------------------------------------------------- replace 替换文件 ---------------------------------------------------------------------------------------------------- rd [/s /q] /s 删除子文件夹和文件 /q 安静执行 删除文件夹(和文件) ---------------------------------------------------------------------------------------------------- del [/f /s /q] /f 强制删除 /s 包括子目录所有匹配文件 /q 安静执行 /p 执行文件前确认 删除文件 ---------------------------------------------------------------------------------------------------- attrib 显示或更改文件属性 附加值: + 设置属性 - 清除属性 r 只读文件属性 a 存档文件属性 s 系统文件属性 h 隐藏文件属性 i 无内容索引文件属性 x 无清理文件属性 v 完整性属性 /s 处理当前文件夹及其所有子文件夹中的匹配文件 /d 也处理文件夹 /l 处理符号链接和符号链接目标的属性 ---------------------------------------------------------------------------------------------------- shutdown [/s /a /l /r /h /t] /s 关机 /a 停止延时关机 /l 注销 /r 重启 /h 休眠 /t 设置延时关机 ---------------------------------------------------------------------------------------------------- if [被检测对象] [符号] [检测对象] ([执行对应命令]) else ([执行对应命令]) if exist [路径和文件] ([执行对应命令]) else ([执行对应命令]) if defined [变量] ([执行对应命令]) else ([执行对应命令]) if not [变量] [符号] [检测对象] ([执行对应命令]) not 不是 exist 是否存在 defined 是否被赋值 else 否则 符号 equ→等于,gtr→大于,geq→大于或等于,lss小于,leq→小于或不等于,neq→不等于 ---------------------------------------------------------------------------------------------------- goto 跳转到响应命令 ---------------------------------------------------------------------------------------------------- color 命令颜色(只输入数字或字母,只能修改字体颜色,要两个值一起写入才能同时修改 窗口颜色和字体颜色,前一个是修改窗口,后一个是修改字体:数字+字母 或 数字+数字 或 字母+数字 或 字母+字母) 0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 8=灰色 9=淡蓝色 A=淡绿色 B=淡浅绿色 C=淡红色 5=紫色 D=淡紫色 E=淡黄色 F=亮白色 ---------------------------------------------------------------------------------------------------- tasklist |find /i "" && 找到什么进程则执行 示例: tasklist |find /i "a.exe" && start b.exe ---------------------------------------------------------------------------------------------------- taskkill 结束任务,如果要关闭批处理,用(taskkill /f /im cmd.exe /t) taskkill /f /im (进程名) 强制关闭特定程序 ---------------------------------------------------------------------------------------------------- for /l %%a in (开始循环次数,每次循环加减多少次,结束循环次数) do ( 循环中执行程序 ) for /r %%s in (.,*) do ( echo %%s ) /r 在当前目录遍历 /l 表循环 %%a 表介质,字母可随意替换,在第二个括号内显示循环到了第几次 ---------------------------------------------------------------------------------------------------- systeminfo 显示机器的具体属性和配置 ---------------------------------------------------------------------------------------------------- convert 硬盘格式操作 ==================================================================================================== 开头: @echo off & title 开头附加: & color 8e & mode con: cols=宽度 lines=高度 QQ登录窗口大小 & mode con: cols=52 lines=18 Office启动窗口大小 & mode con: cols=55 lines=14 ==================================================================================================== 源代码: ---------------------------------------------------------------------------------------------------- 按时间执行: @echo off :echo cls set a=00 set b=00 set c=ok if %time%==%a%:%b%:00.00 goto %c% if %time%==%a%:%b%:00.01 goto %c% if %time%==%a%:%b%:00.02 goto %c% if %time%==%a%:%b%:00.03 goto %c% if %time%==%a%:%b%:00.04 goto %c% if %time%==%a%:%b%:00.05 goto %c% if %time%==%a%:%b%:00.06 goto %c% if %time%==%a%:%b%:00.07 goto %c% if %time%==%a%:%b%:00.08 goto %c% if %time%==%a%:%b%:00.09 goto %c% if %time%==%a%:%b%:00.10 goto %c% if %time%==%a%:%b%:00.11 goto %c% if %time%==%a%:%b%:00.12 goto %c% if %time%==%a%:%b%:00.13 goto %c% if %time%==%a%:%b%:00.14 goto %c% if %time%==%a%:%b%:00.15 goto %c% if %time%==%a%:%b%:00.16 goto %c% if %time%==%a%:%b%:00.17 goto %c% if %time%==%a%:%b%:00.18 goto %c% if %time%==%a%:%b%:00.19 goto %c% if %time%==%a%:%b%:00.20 goto %c% if %time%==%a%:%b%:00.21 goto %c% if %time%==%a%:%b%:00.22 goto %c% if %time%==%a%:%b%:00.23 goto %c% if %time%==%a%:%b%:00.24 goto %c% if %time%==%a%:%b%:00.25 goto %c% if %time%==%a%:%b%:00.26 goto %c% if %time%==%a%:%b%:00.27 goto %c% if %time%==%a%:%b%:00.28 goto %c% if %time%==%a%:%b%:00.29 goto %c% if %time%==%a%:%b%:00.30 goto %c% if %time%==%a%:%b%:00.31 goto %c% if %time%==%a%:%b%:00.32 goto %c% goto echo :ok exit ====================================================================================================