- 308\993\238\900\946\728\446\566\674\625\528\552\728\190\797\680\509\699\663\915\109\727\110\851\237\271\636\154\815\829\467\261\703\989\105\806\821\342\388\769\425\363\732\420\522\411\670\441\618\242\
复制代码 这是456.txt文本-
- @echo on
- for /f "tokens=1-12 delims=\" %%1 in (456.txt) do echo %%1 %%2 %%3 %%4 %%5 %%6 %%7 %%8 %%9 %%10 %%11 %%12
- pause
复制代码 今天突发奇想测试用数字代替a-z,取值1-12结果如下-
- 308 993 238 900 946 728 446 566 674 3080 3081 3082
复制代码 观察发现1-9正常,10,11,12只是取%%1的结果后面附加了0,1,2
然后想将%%1 %%2 %%3 %%4 %%5 %%6 %%7 %%8 %%9 %%10 %%11 %%12可不可以赋值,然后调用,代码如下- @echo off
- del 789.txt
- @(for /l %%a in (1,1,12) do echo %%%%%%a>>789.txt)
- setlocal enabledelayedexpansion
- @(for /f %%b in (789.txt) do (
- @set "str=!str!%%b "
- )
- )
- @(for /f "tokens=1-12 delims=\" %%1 in (456.txt) do echo !str!)
- pause
复制代码 上面代码虽然执行了,但是并没有调用,又测试了以下的代码- @echo off
- del 789.txt
- @(for /l %%a in (1,1,12) do echo %%%%a>>789.txt)
- setlocal enabledelayedexpansion
- @(for /f %%b in (789.txt) do (
- @set "str=!str!%%b "
- )
- )
- @(for /f "tokens=1-12 delims=\" %%1 in (456.txt) do echo !str!)
- pause
复制代码 结果还是不调用,最后又更改了,将!!改成了%%,代码如下- @echo off
- del 789.txt
- @(for /l %%a in (1,1,12) do echo %%%%a>>789.txt)
- setlocal enabledelayedexpansion
- @(for /f %%b in (789.txt) do (
- @set "str=!str!%%b "
- )
- )
- @(for /f "tokens=1-12 delims=\" %%1 in (456.txt) do echo %str%)
- pause
复制代码 这次却成功调用了我的思路,有些不明白的是调用set的赋值,不是用!!,这为什么是%%,而且789.txt不是%%1这样的,而是%1
然后它调用才成功的!
望各位高人指点!
[ 本帖最后由 jackerloo2009 于 2009-5-18 12:23 编辑 ] |