发布日期:2024-10-14 17:10 点击次数:71
常用命令也可见文章:链接
文件夹管理 cd 显示当前目录名或改变当前目录。md 创建目录。rd 删除一个目录。dir 显示目录中的文件和子目录列表。tree 以图形显示驱动器或路径的文件夹结构。path 为可执行文件显示或设置一个搜索路径。xcopy 复制文件和目录树。 文件管理 type 显示文本文件的内容。copy 将一份或多份文件复制到另一个位置。del 删除一个或数个文件。move 移动文件并重命名文件和目录。(Windows XP Home Edition中没有)ren 重命名文件。replace 替换文件。attrib 显示或更改文件属性。find 搜索字符串。fc 比较两个文件或两个文件集并显示它们之间的不同 网络命令 ping 进行网络连接测试、名称解析ftp 文件传输net 网络命令集及用户管理telnet 远程登陆ipconfig显示、修改TCP/IP设置msg 给用户发送消息arp 显示、修改局域网的IP地址-物理地址映射列表 系统管理 at 安排在特定日期和时间运行命令和程序shutdown立即或定时关机或重启tskill 结束进程taskkill结束进程(比tskill高级,但WinXPHome版中无该命令)tasklist显示进程列表(Windows XP Home Edition中没有)sc 系统服务设置与控制reg 注册表控制台工具powercfg控制系统上的电源设置 二、基本语法 1. 注释在bat脚本中,我们使用 :: 和 REM 添加注释,用法如下:
:: 打印“你好,世界!” echo 你好,世界!
注意
:: 只能出现在每一行的开头,其后的内容被当作注释REM 可用于任何位置,其后的内容被当作是注释 2. 变量变量类型包括:数字、字符串及数组。
:: 定义数字变量 set /a n=0 :: 定义字符串变量 set s1=hellworld set s2="Hello World" set "s3=Hello, World!" :: 定义数组变量 set arr = 1 2 3 4 5 6 @echo off set list=1 2 3 4 (for %%a in (%arr%) do ( echo %%a ))
注意:
变量名与内容之间通过=连接且没有空格 3. 判断在bat脚本中,if条件判断语句共有6种比较操作符,分别为
操作符描述全称equ等于equalneq不等于no equallss小于less thanleq小于等于leq less than or equalgtr大于greater thangeq大于等于geq greater than or equal注意:
只有等于操作符可以使用符号 == 表示if 条件 ( 执行命令 ) else ( 执行命令 )4. 循环
for /l %%x in (1,1,10) do ( echo 变量 x 的值是 %%x )5. 函数
@echo off rem 定义函数 :myFunction echo 这是我的函数 exit /b rem 调用函数 call :myFunction6. 文件操作
:: 创建文件 echo Hello > myfile.txt :: 复制文件 copy source.txt destination.txt :: 移动文件 move source.txt destination_folder:: 重命名文件 ren oldname.txt newname.txt :: 删除文件 del myfile.txt7. 字符串操作 7.1 字符串连接
set str1=Hello set str2=World set result=%str1% %str2% echo %result%
这将输出 Hello World。在批处理中,可以使用 % 符号来引用变量,并使用空格将字符串连接起来。
7.2 字符串截取set myvar=abcdef set substring=%myvar:~0,3% echo %substring%
这将输出 abc。:~ 后跟的是截取的起始索引和长度。在这个例子中,0,3 表示从索引 0 开始截取,长度为 3。
7.3 字符串查找:set myvar=abcdef echo %myvar:~2%
这将输出 cdef。如果省略长度,则从指定的索引开始一直截取到字符串末尾。
7.4 字符串替换:set myvar=abc123abc set newvar=%myvar:abc=xyz% echo %newvar%三、基本指令
注意,bat 脚本不区分大小写。
1. rem 和 :::: 用于进行文本的注释,执行后不会回显内容。 rem 用于文本注释,执行后会回显内容。
2. echo 和 @@字符放在命令前将关闭该命令回显,⽆论此时echo是否为打开状态。
打开回显功能:echo on关闭回显功能:echo off输出空行:echo. 或 echo, 或 echo: 或 echo/ 等显示当前echo状态:echo输出提示信息:echo 信息内容答复提问:echo 答复语|执行的操作新建文件:echo 文件内容>文件名新增内容:echo 文件内容>>文件名喇叭鸣响:echo ^g 3. pause使当前程序暂停,并输出以下内容,作用是为了让我们知道程序运行到哪步了。 显示其他提示语:echo 其他提示语 & pause > nul
图片
4. errorlevel获取程序返回码:echo %errorlevel% 每个命令运⾏结束,可以⽤这个命令⾏格式查看返回码。⽤于判断刚才的命令是否执⾏成功,默认值为0,⼀般命令执⾏出错会设 errorlevel 为1。
5. title设置cmd窗口的标题,语法如下:
title 我的窗口
图片
6. color设置默认控制台的前景色和背景色,语法如下:
color [前景色][背景色]
颜⾊属性由两个⼗六进制数字指定 – 第⼀个为背景色,第⼆个则为前景色。每个数字可以为以下任何值之⼀。
数值颜色数值颜色0⿊⾊8灰⾊1蓝⾊9淡蓝⾊2绿⾊A淡绿⾊3湖蓝⾊B浅绿⾊4红⾊C淡红⾊5紫⾊D淡紫⾊6黄⾊E淡黄⾊7⽩⾊F亮⽩⾊示例如下:
图片
7. goto 和 :通过goto和:标号可以实现跳转执行命令。
@echo off :start set /a var+=1 echo %var% if %var% leq 3 GOTO start pause8. find
在文件中搜索字符串,语法如下:
find [/v][/c][/n][/i][/off[line]] "字符串" [[drive:][path]filename[...]]/v 显示所有未包含指定字符串的行/c 仅显示包含字符串的行数/n 显示行号/i 搜索字符串时忽略大小写/off[line] 不要跳过具有脱机属性集的文件"字符串" 指定要搜索的字符串[drive:][path]filename 指定要搜索的文件 9. start
批处理中用来调用外部程序的命令,语法如下:
start 外部程序 [参数]
参数:
/D path 指定程序的起始目录/MIN 最小化启动窗口/MAX 最大化启动窗口/WAIT 等待启动的程序结束后才继续脚本/B 在同一窗口中启动程序/b 隐藏控制台执行程序 说明: 该命令将在新进程中运行外部程序,原批处理程序将继续执行执行运行外部程序则会等待外部程序完成后再继续执行后续指令示例:start explorer d:\ 将会使用图形界面打开D盘。
10. callCALL命令可以在批处理执⾏过程中调⽤另⼀个批处理,只有当被调用的批处理执⾏完后,才能继续执⾏原来的批处理,语法如下:
call 指定批处理文件11. assoc 和 ftype
assoc 和 ftype 可实现文件关联,语法如下:
assoc .txt ::显示.txt代表的“文件类型”,结果显⽰.txt=txtfile ftype ::显示所有的文件类型关联 assoc .txt=Word.Document.8 ::设置.txt文件未word类型的文档,可看到.txt文件图标已改变12. pushd 和 popd
主要用于保存并返回初始目录,示例如下:
cd /d d:\mp4 ::更改当前⽬录为 d:\mp4 pushd c:\mp3 ::保存当前⽬录,并切换当前⽬录为 c:\mp3 popd ::恢复当前⽬录为刚才保存的 d:\mp413. if
条件判断语句,语法如下:
if [not] errorlevel number command if [not] str1==str2 command if [not] exist filename command14. mode
@echo off mode con: cols=80 lines=30 echo This is a sample batch script. echo It sets the console window size to 80 columns by 30 lines. pause
在这个例子中,mode con: cols=80 lines=30 设置控制台窗口的列数为80,行数为30。
四、常用特殊符号 1. @用在任何命令前面,实现关闭当前行的回显.
2. %%0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %*为命令⾏传递给批处理的参数 %0 批处理⽂件本⾝,包括完整的路径和扩展名 %1 第⼀个参数 %9 第九个参数 %* 从第⼀个参数开始的所有参数3. >
DOS的标准输⼊输出通常是在标准设备键盘和显⽰器上进⾏的,利⽤重定向,可以⽅便地将输⼊输出改向磁盘⽂件或其它设备。其中:
⼤于号 > 将命令发送到⽂件或设备,例如打印机>prn双⼤于号 >> 将命令输出添加到⽂件结尾⽽不删除⽂件中已有的信息⼩于号 < 从⽂件⽽不是键盘上获取命令所需的输⼊>& 符号将输出从⼀个默认I/O流(stdout,stdin,stderr)重新定向到另⼀个默认I/O流 4. >>>> 和 > 有点类似,但他们的区别是 >> 是传递并在⽂件的末尾追加,⽽ > 是覆盖。
五、实际案例 1. 设置临时环境变量在命令行模式下设置的环境变量,属于临时环境变量,只针对当前的CMD命令窗口有效,并不影响其他窗口中的环境变量,更不会影响到永久性的环境变量,要设置永久的环境变量,需要通过图形操作修改。
CMD
set path=%path%;C:\test ::在原有环境变量的基础上追加环境变量
PowerShell
$env:path+="C:\test"2. 启动CMD执行命令
start cmd /k ::启动一个CMD且不关闭CMD start cmd /c ::启动一个CMD且关闭CMD
start cmd /k "命令1 & 命令2 & 命令3" ::无论前面命令是否成功, 后面都会执行 start cmd /k "命令1 && 命令2 && 命令3 " ::仅当前面命令成功时, 才执行后面,一般用这个 start cmd /k "命令1
下一篇:没有了