如何将BAT/CMD循环输出内容存入独立变量?
BAT脚本实现将TXT文件路径存入独立变量
以下是修改后的脚本,可将C:\myfolder下的所有TXT文件路径分别存入var1、var2等独立变量:
@echo off setlocal enabledelayedexpansion set "count=0" FOR %%a IN (C:\myfolder\*.txt) DO ( set /a count+=1 set "var!count!=%%a" echo var!count! = %%a ) :: 示例:调用已创建的变量 echo 测试调用var1:!var1! echo 测试调用var2:!var2! pause endlocal
关键说明:
setlocal enabledelayedexpansion:必须开启延迟变量扩展,否则循环内动态生成的变量名无法被正确解析,引用变量时需用!变量名!而非%变量名%。set "count=0":初始化计数器,用来生成var1、var2这类带序号的变量名。set "var!count!=%%a":通过计数器的动态数值拼接变量名,把当前遍历到的文件路径赋值给对应变量。- 后续脚本中需要调用这些变量时,同样用
!varN!的格式(N为序号)。
内容的提问来源于stack exchange,提问作者gal7979
相关产品推荐
相关产品推荐

