Board logo

标题: [文本处理] 请教这段交替显示文本的BAT代码 [打印本页]

作者: archercat    时间: 2012-11-28 14:37     标题: 请教这段交替显示文本的BAT代码

  1. @echo off
  2. for /f "tokens=1* delims=:" %%i in ('findstr /n .* 2.txt') do set _%%i=%%j
  3. for /f "tokens=1* delims=:" %%k in ('findstr /n .* 3.txt') do set _%%k.%%k=%%l
  4. for /f "tokens=1* delims==" %%i in ('set _ ') do echo %%j
  5. 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