标题: [文本处理] 请教这段交替显示文本的BAT代码 [打印本页]
作者: archercat 时间: 2012-11-28 14:37 标题: 请教这段交替显示文本的BAT代码
- @echo off
- for /f "tokens=1* delims=:" %%i in ('findstr /n .* 2.txt') do set _%%i=%%j
- for /f "tokens=1* delims=:" %%k in ('findstr /n .* 3.txt') do set _%%k.%%k=%%l
- for /f "tokens=1* delims==" %%i in ('set _ ') do echo %%j
- pause
复制代码
上面这段代码是论坛里出过的一道关于交替显示文本的题目,其中有上面这样一段代码,请问:
set_%%i=%%j 这段可以理解(但是不知道"_"这个下划线的意思)
set_%%k.%%k=%%l就实在看不懂了
第2段并未定义%%j 为何echo%%j 却可以实现两个文本的交替显示?
本人新手,烦请详解!谢谢!
作者: 冷玉公子 时间: 2012-11-28 17:48
第一:_ 就是普通的字符_ 没有什么特殊定义,用这个是为了和现有的变量区分,为了配合第三行的 set _ 来获取_开头的变量。
第二:For 的局部变量%%i %%j 是按顺序的,这个不明白的话,去论坛学一下For基础。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |