[转发]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的作用详细整理
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2022-02-16 浅谈Spring和SpringBoot中的数据绑定(一)