【批处理】变量延迟

  • 变量延迟
@echo off
set test=aaa
if %test%==aaa (
	set test=bbb
	echo %test%
	)
pause

上述代码,按照一般的逻辑,最后输出的应该是“bbb”,但实际运行后发现是“aaa”

批处理在运行时,if后括号内的所有内容,被当做是一条语句

所以运行时的逻辑并非是先将test赋值为bbb,再输出test最新的值,而是同时进行的

为了避免这种情况,就必须要使用到变量延迟

@echo off
setlocal enabledelayedexpansion
set test=aaa
if %test%==aaa (
	set test=bbb
	echo %test%
	echo !test!
	)
pause

通过输入setlocal enabledelayedexpansion来开启变量延迟,并将变量用双感叹号包裹,而不是双百分号

想要关闭变量延迟,可以通过输入setlocal disabledelayedexpansion来关闭

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 批处理bat是一种批处理脚本语言,用于在Windows系统中进行批量操作。要取1~100之间的数字,可以使用循环结构来实现。 下面是一个示例的批处理bat代码: @echo off setlocal enabledelayedexpansion set count=1 :loop if %count% gtr 100 goto end echo %count% set /a count+=1 goto loop :end echo 完成 这段代码的逻辑是首先使用setlocal enabledelayedexpansion命令启用延迟变量扩展。然后使用set命令将count变量初始化为1。 接下来是一个循环结构,使用goto命令和标签loop来实现循环。在循环中,使用if命令判断count变量是否大于100,如果大于就跳转到标签end结束循环。 如果count未超过100,就使用echo命令输出count变量的值,然后使用set /a命令加1使count变量自增,最后使用goto命令跳转到标签loop继续下一次循环。 当循环结束后,使用echo命令输出"完成",表示程序执行结束。 以上就是一个简单的批处理bat代码,可以输出1~100之间的数字。可以将这段代码保存为bat文件,然后运行即可得到相应的输出。 ### 回答2: 批处理bat是一种Windows操作系统下的批处理脚本文件,用于执行一系列的命令。要取1~100之间的数字,我们可以使用循环结构来实现。 下面是一个可用的批处理bat脚本: ``` @echo off setlocal enabledelayedexpansion rem 设置循环变量的初始值为1 set /a num=1 :loop rem 打印当前循环变量的值 echo %num% rem 判断当前循环变量的值是否达到了100,如果是则跳出循环 if %num% == 100 goto end rem 将循环变量的值加1 set /a num+=1 rem 跳到循环的开头 goto loop :end endlocal ``` 以上的批处理脚本会循环打印从1到100之间的数字,并在打印到100后跳出循环。每次循环,循环变量`num`会加1,直到达到100为止。 你可以将以上的代码保存为一个扩展名为.bat的文件,然后在命令提示符窗口中运行它。运行结果会逐行打印出1到100之间的数字。 ### 回答3: 批处理bat脚本可以使用循环语句来实现取1~100之间的数字。 @echo off for /L %%i in (1,1,100) do ( echo %%i ) 以上是一个示例的批处理bat脚本。脚本使用for循环语句,从1开始,每次递增1,循环到100为止。在循环的每一次迭代中,使用echo命令输出当前迭代的数字。 该脚本可以在命令提示符窗口中直接运行,或者将其保存为以.bat为扩展名的文件,然后双击运行。运行后,会在屏幕上按顺序输出1到100之间的所有数字。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值