[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 请教这段交替显示文本的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 却可以实现两个文本的交替显示?
本人新手,烦请详解!谢谢!

第一:_ 就是普通的字符_ 没有什么特殊定义,用这个是为了和现有的变量区分,为了配合第三行的 set _ 来获取_开头的变量。
第二:For 的局部变量%%i %%j 是按顺序的,这个不明白的话,去论坛学一下For基础。

TOP

返回列表