[转发]Windows 批处理(BAT文件)循环中变量的值不变问题

该问题和Windows批处理脚本的处理模式有关,我的理解是:批处理是读一行解释、执行一行,解释完后(变量的替换等),就不再解释了,就是说即便外部程序在逻辑上又改变了变量的值,但解释器已经不再理会了。

解决方法就是使用延迟变量解释,告诉解释器这是一个变量,后面的值还会改变。

使用延迟变量条件:

(1)打开延迟扩展设置: setlocal enabledelayedexpansion

(2)使用!k!(2个感叹号夹1个变量)来读取变量,不开启延迟扩展时,读取方式是 %k%(2个百分号夹1个变量)


原文链接:https://blog.csdn.net/hongweigg/article/details/107353164

https://www.jb51.net/article/29323.htm  批处理中setlocal enabledelayedexpansion的作用详细整理

posted @   培轩  阅读(165)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2022-02-16 浅谈Spring和SpringBoot中的数据绑定(一)
点击右上角即可分享
微信分享提示