我想编写一个批处理脚本来重命名目录中的文件夹。
可行的方法是,我将有一个文件,其中包含我希望每个文件夹重命名的名称。所以基本上批处理脚本只会从文件中选择名称(包含名称)并使用它来重命名每个文件夹。
因此,如果我有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!"
))
上述脚本没有给我预期的结果。
答案 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!"
))