使用批处理

时间:2015-05-04 18:36:48

标签: batch-file renaming

我想编写一个批处理脚本来重命名目录中的文件夹。

可行的方法是,我将有一个文件,其中包含我希望每个文件夹重命名的名称。所以基本上批处理脚本只会从文件中选择名称(包含名称)并使用它来重命名每个文件夹。

因此,如果我有20个文件夹,则文件中将存在20个名称以重命名每个文件夹。

到目前为止我有什么:

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
SET old=*.txt
SET new="c:\Users\user\Desktop\testing.txt" 
< %new% (for /f "tokens=*" %%f in ('dir /b %old%') do (
   ren Read the next name from the redirected input file
   SET /P newname=
   ren "%%f" "!newname!" 
))

上述脚本没有给我预期的结果。

2 个答案:

答案 0 :(得分:0)

未经测试:

ng-controller

答案 1 :(得分:0)

问题是dir /b %old%命令生成一个扩展名为.txt的文件列表。如果要重命名文件夹,请添加/AD切换并删除通配符:

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
SET new="c:\Users\user\Desktop\testing.txt" 
< %new% (for /f "tokens=*" %%f in ('dir /b /AD') do (
   ren Read the next name from the redirected input file
   SET /P newname=
   ren "%%f" "!newname!" 
))