2016-09-23 169 views
0

一个非常基本的问题。我是批处理脚本的新手,所以请原谅我,如果这是补救措施。批量重命名脚本

我经常需要重命名数百个文件。这里没有模式,简单的一对一重命名。所以我一直在建立由数百命名的行的批处理脚本命令,像这样:

REN STWP01_00103033* 2009-07-15_BCBSRI-00170952* 
REN BCBSRI-00003876* 2011-07-15_BCBSRI-00003876* 

这是一个痛苦重新格式化每个条目包括在该行的开头重命名命令和每个之后的通配符文件名[REN旧名*新名*]。有没有一种方法可以在代码块的开始处指定那些代码,然后粘贴到新/旧文件名列表中?是这样的:

REN 
{ 
STWP01_00103033 2009-07-15_BCBSRI-00170952 
BCBSRI-00003876 2011-07-15_BCBSRI-00003876 
} 

这样我可以重新使用批处理文件,只是旧/新名字的字符串和粘贴到体内并运行它。

谢谢!

+0

是的,有变数,你不能定义。 –

+2

您可以使用'FOR/F'命令读取文件并将这两个值用作重命名的变量。 – Squashman

回答

0

该脚本将从名为rename.ini的文件中读取ren命令。

要重命名开头file1所有文件file2,你会用

file1 file2 


脚本:

@echo off 
if not exist rename.ini (echo [Batch renaming utility]>rename.ini&echo Edit 'rename.ini' to start&goto exit) 
for /F "eol=[ tokens=1-2" %%A in (rename.ini) do (ren %%A* %%B* 1>nul) 
echo Job complete! 
:exit 
pause 
exit 

Rename.ini脚本

[Batch renaming utility] 

    STWP01_00103033 2009-07-15_BCBSRI-00170952 
    BCBSRI-00003876 2011-07-15_BCBSRI-00003876 
+0

非常感谢。我期待着对此进行测试! – lneidorf