Originally posted by mailnler at 2010-5-29 22:45:
@echo off
cls
echo 请稍等正在读取ID电影对应表.....
FOR /f "tokens=1,2 delims=," %%i in ('type 全部ID电影对应表.ini ^| find /i ","') do set %%i=%%j
cls
FOR /f %%i in ('type 批量改名目录.ini') do (
FOR /f %%I in ('dir /b %%i') do (
IF DEFINED %%I echo 正在处理文件:%%i%%I %I% && pause
)
)
关于最上面的for 设置的为%%i 的变量怎么取%%j值的
全部ID电影对应表中有:
17097,黑暗物质之黄金罗盘
14732,伊拉克碎片
56192,秘密的阴谋
56184,头号公敌
也就是设置了17097为变量 值为:黑暗物质之黄金罗盘
可我不知道怎么才能取到%17097%的值!!!批处理里输出时出错!
IF DEFINED %%I echo 正在处理文件:%%i%%I %I% && pause
这一句我会改成我想做的事!
1,为什么不能说说你要具体做什么呢?
2,如果文本(编码为ansi)中只有相关内容,'type 全部ID电影对应表.ini ^| find /i ","'可以直接写成全部ID电影对应表.ini,'type 批量改名目录.ini'也是如此。
3,这里的find不需要/i参数
4,后面两个for 最好使用"delims="以处理可能存在的空格
5,开启变量延迟setlocal enabledelayedexpansion
如果%%i是变量名,则!%%i!为这个变量的值。
Last edited by Hanyeguxing on 2010-5-30 at 01:10 ]