如何使用批处理脚本重命名带有模式的文件

时间:2015-02-13 10:57:21

标签: windows file batch-file cmd

例如,我有一个名为pair.txt的.txt文件。

示例:

AAA_BBB_CCC_DDD_EEE_FFF_GGG_HHH.idoc.xml            AAAA
AAA_BBB_CCC_DDD_EEE_FFF_111_222.idoc.xml            BBBB
AAA_BBB_CCC_DDD_EEE_FFF_333_444.idoc.xml            CCCC

现在这个文件包含2列文件名。第一列将是重命名第二列的模式。现在我想使用第6和第7个“_”的右侧作为模式。第二列中文件的最终文件名必须为:

AAAA.GGG_HHH
BBBB.111_222
CCCC.333_444

正如您所注意到的,我没有包含.idoc.xml部分。现在我想把代码放在for语句中:

for /f "tokens=1,2" %%a in ('type c:\user\pair.txt') do (
        echo Renaming file : %%b
        )

我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

for /f "usebackq tokens=1,2" %%a in ("c:\user\pair.txt") do (
    for /f "tokens=7,8 delims=_." %%c in ("%%a") do (
        echo Renaming file : %%b = %%b.%%c_%%d
    )
)

使用第二个for命令拆分第一列,然后使用加密的令牌