回复 1# wangxiaodong
关键在于这一句
for %%b in ("%%%a%") do echo %%b>>1.txt
%%%%a% 并不会按照你设计的方式进行扩展的
%的匹配大致遵循从左向右的原则 而不是从里向外
所以,正确的写法应该是这样- @echo off
- setlocal EnableDelayedExpansion
- set a=0 1 2 3 4 5 6 7 8 9
- set b=q w e r t y u i o p a s d f g h j k l z x c v b n m
- set c=, . ; ' ^^^! @ # $ %% ^^^^ ^& * , 。 ; ‘
- for %%a in (a b c) do (
- echo !%%a!>>1.txt
- )
复制代码 使用感叹号(环境变量延迟扩展符号)代替百分号(环境变量立即扩展符号)
就实现了变量的动态扩展
注意变量C中的字符串我做了一定的修改
那是为了实现你的意图而对某些特殊字符做的修订 |