原帖地址:http://bbs.bathome.net/viewthrea ... muid=30829#pid22348
目的是为了以一一对应的关系合并两个文本文件。- @echo off
- setlocal EnableDelayedExpansion
- for /f "tokens=1* delims=:" %%a in ('findstr /n .* 1.txt') do set _%%a=%%b
- for /f "tokens=1* delims=:" %%a in ('findstr /n .* 2.txt') do echo.!_%%a!%%b>>all.txt
- echo.&pause
复制代码 第一个for执行完毕,按我的理解变量_%%a应该获取的是1.txt最后一行的文本内容。
第二个for中的变量!_%%a!竟然存储了1.txt中所有的文本内容,而且还是逐条释放出来。
_%%a 这个变量名究竟有什么玄机,各位大神能解释一下吗?
1.txt- *\1-2\1-2
- *\2-3\2-3
- *\3-4\3-4
- *\1-2\1-2
- *\2-3\2-3
- *\3-4\3-4
- *\1-2\1-2
- *\2-3\2-3
- *\3-4\3-4
- *\1-2\1-2
- *\2-3\2-3
- *\3-4\3-4
- *\1-2\1-2
- *\2-3\2-3
- *\3-4\3-4
- *\2-3\2-3
- *\3-4\3-4
- *\1-2\1-2
- *\2-3\2-3
- *\3-4\3-4
- *\1-2\1-2
- *\2-3\2-3
- *\3-4\3-4
- *\1-2\1-2
复制代码 2.txt- hello
- good
- baby
- girl
- tree
- apple
- banana
复制代码 结果,all.txt- *\1-2\1-2 hello
- *\2-3\2-3 good
- *\3-4\3-4 baby
- *\1-2\1-2 girl
- *\2-3\2-3 tree
- *\3-4\3-4 apple
- *\1-2\1-2 banana
复制代码
|