接windows批处理常用命令总结(一)。
4. call, start, goto, set
1. call
call用来调用执行另一个bat或者cmd文件(当然也可执行其它格式的可执行文件),它不会终止父批处理程序的执行。
rem 调用同一个目录下的另一个批处理文件 leeyn.bat
call leeyn.bat
2. start
start启动另外一个窗口运行指定的程序或命令,所有的DOS命令和命令行程序都可以由start来调用。
比如你可以打开记事本:start notepad.exe
打开计算器:start calc.exe
比如打开百度:start https://baidu.com
等。
- start参数有很多,通常我们只需要知道 start后面加上标题,再跟上想执行的程序,命令或者网址即可。
- 这个标题要用 双引号括起来。否则就会被当做可执行文件执行了。
- 如果要执行的不是内部程序或者命令,则需要给出具体的路径。
start D:\code\test\goods.bat
可以cmd输入
help start
可以看到关于start的更多。。
3. goto
当文件运行到goto命令处,程序指针跳转到指定的标签,从标签处开始执行命令。goto一般会配合if使用。
标签加上冒号,表示这是一处标签。
:bad
echo 你的成绩不合格
:good
echo 你的成绩及格
命令前加@符号,表示不显示@后面的命令。
比如以下脚本:
@echo off
set /p a=type your first number:
set /p b=type your second number:
if %a% geq %b% goto firstRes
if %a% lss %b% goto secondRes
pause
exit
:firstRes
echo your first number is better
pause
exit
:secondRes
echo your second number is better
pause
exit
上面程序判断输入的两个数字,内个更大。
新建一个xx.bat脚本,把上面代码粘贴进去,保存。双击xx.bat脚本即可尝试效果。
4. set
set命令有些复杂,上面goto语句的demo代码里就用到了set读取输入值。
set大概有这些功能:
- 使用 set 命令进行赋值,设置自定义变量
- 使用 set /p 命令读取输入值
- 使用 set /a 命令进行数学运算
- 使用 set 命令进行字符串处理,比如字符串的截取和替换等。
1. set赋值
在使用set进行赋值的时候,等号两边不能有空格。
set age=18
echo %age%
变量值包含特殊符号时,要使用双引号。
set "name=Jack&Rose"
echo "%name%"
就如同js里我们不能使用js保留字命名变量一样,在这里我们要尽量避免使用跟系统环境变量同名的自定义变量。
例如path,date,errorlevel
等。
2. set /p 读取输入值
介绍goto时,就使用了set /p 读取我们在键盘上的输入值。
3. set /a 进行简单计算
//计算加减
set x=1
set y=2
set /a n=%x%+%y%
//八进制、十六进制转换为10进制
set /a 012
set /a 0xA
4. set 进行字符串处理
一个简单的字符串替换。
@echo off
set str=This message needs changed.
echo %str%
set str=%str:needs=had%
echo %str%
为了防止篇幅过长,本次更新到此结束。