Batch 基本编写方法记录
读取输入
1set /p ch="y/n:"
2echo %ch%
变量运算
通过 %{var}%
访问变量,通过 /a
进行表达式计算设置值。
1@echo off
2
3set money=100
4echo 初始金额: %money%
5
6set /a money=%money%*2
7set /a money=%money%+100
8echo 现在的金额:%money%
选择并跳转
:{point}
用于指定一个跳转点。
1@echo off
2
3set /p ch="y/n:"
4if "%ch%"=="" (
5 goto end
6) else if "%ch%"=="n" (
7 goto no
8) else if "%ch%"=="y" (
9 goto yes
10) else (
11 goto end
12)
13
14:no
15echo NO
16goto end
17
18:yes
19echo YES
20goto end
21
22:end
循环语句
- 通过 %%x 设置和访问循环值;
- 通过 (start, steps, end) 设置循环;
- /l 将通过比较 start 和 end 来执行迭代。
1@echo off
2
3for /l %%x in (1, 5, 100) do (
4 echo hello, jzh-%%x
5)
变量动态变化
setlocal enabledelayedexpansion
开启变量延迟,使得变量可以动态变化;- 需通过
!{var}!
访问变化中的量。
1@echo off
2@REM 开启变量延迟,使得变量可以动态变化
3setlocal enabledelayedexpansion
4
5set /a i=1
6for /l %%i in (1, 1, 10) do (
7 echo hello
8 set /a i+=1
9 echo !i!
10)
11echo %i%
接收参数
1@echo off
2rem %1 即 args[0]
3if "%1" == "a" echo open a.txt
4
5if "%2" == "b" echo open b.txt