找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 18228|回复: 1

[文本处理] 请教这段交替显示文本的BAT代码

[复制链接]
发表于 2012-11-28 14:37:31 | 显示全部楼层 |阅读模式
  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:00 | 显示全部楼层
第一:_ 就是普通的字符_ 没有什么特殊定义,用这个是为了和现有的变量区分,为了配合第三行的 set _ 来获取_开头的变量。
第二:For 的局部变量%%i %%j 是按顺序的,这个不明白的话,去论坛学一下For基础。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 22:16 , Processed in 0.017502 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表