标题: [求助]for命令中如何设置变量
[打印本页]
作者: cqcswky
时间: 2009-3-18 04:49
标题: [求助]for命令中如何设置变量
我要用for命令解码文件
用的是如下命令
for /f %%a in (H:\Updater5\name.txt) do ( awxConvert %%a %%a 1)
其中H:\Updater5\name.txt 存放的是要解码的文件名,内容如下
h:\Updater5\FY2C_TBB\FY2C_TBB_IR1_OTG_20060301_0000.AWX
h:\Updater5\FY2C_TBB\FY2C_TBB_IR1_OTG_20060301_0100.AWX
h:\Updater5\FY2C_TBB\FY2C_TBB_IR1_OTG_20060301_0200.AWX
awxConvert是解码文件,最后的1是参数
用我上面的命令,解码出来的结果由于与源文件同名,会覆盖源文件。
我是想把它们重命名为0603010000.000,0603010100.000,0603010200.000。
请问我如何在do循环中设置变量,可以使产生的文件与源文件不同名呢?
而set命令,好像在for循环中,没法对变量%%a进行字符串提取,该怎么作啊?
[
Last edited by cqcswky on 2009-3-18 at 04:50 ]
作者: lxmxn
时间: 2009-3-18 06:57
for /f %%a in (H:\Updater5\name.txt) do ( awxConvert %%a new_%%a 1)
这样?
作者: netbenton
时间: 2009-3-18 08:11
for /f %%a in (H:\Updater5\name.txt) do ( awxConvert %%a %%~na.000 1)
作者: yishanju
时间: 2009-3-18 09:36
变量延时
多看新手教程
作者: cqcswky
时间: 2009-3-18 10:04
先感谢楼上两位的热心帮助!
由于解码文件awxConvert 要求:
“awxConvert 源文件名(包含路径) 结果文件名(不含路径时,结果文件位于awxConvert.exe文件夹下) 1”
因此,lxmxn高手的命令不行,这是我没说清楚的原因,与你无关!
netbenton高手的方法:
for /f %%a in (H:\Updater5\name.txt) do ( awxConvert %%a %%~na.000 1)
可行,达到了改后缀的目的。
但我还想请教高手们一下:由于实际的 *.AWX 文件很多,结果文件名也是有要求的。我是想在for循环中,设置变量,让它等于每一个%%a(源文件名),(H:\Updater5\name.txt存放的是每一个*.AWX文件的源文件名-包含路径),
但是用set命令,如 set b=%%a,再想把 字符串 b(如%%a 的某一个值是h:\Updater5\FY2C_TBB\FY2C_TBB_IR1_OTG_20060301_0200.AWX)
变成—— h:\Updater5\FY2C_TBB\0603010200.000,作为目标文件的路径加名称。但好像在for循环中,set命令不起作用,该怎么办?
[
Last edited by cqcswky on 2009-3-18 at 10:20 ]
作者: cqcswky
时间: 2009-3-18 10:16
发完回复才看到yishanju的建议
yishanju高手提到的变量延时,
我不知道怎么对变量延时的变量 再按上面的要求进行 字符串 提取和变化?