如何使用批处理重命名文件夹?

时间:2018-03-06 18:44:59

标签: batch-file batch-processing batch-rename

我有一个文件夹.txt文件,其中包含HDD上的文件夹名称列表,必须使用gbv.txt中的名称重命名。因此,应该使用gbv.txt中的第一行重命名folder.txt的第一行,依此类推。这些文件夹位于脚本启动的同一目录中。

folder.txt

F-93-B-109
F-93-B-122
F-93-B-148
F-93-B-157

gbv.txt

GBV529357402
GBV52935795X
GBV529360799
GBV529362236

我对批处理有点新,并且在循环中不知道如何在这种情况下使用重命名

1 个答案:

答案 0 :(得分:0)

基本上,要一次读取两个文件,您需要使用FOR /F命令读取一个文件并将另一个文件流式传输到FOR /F命令块中。执行此操作时,您可以使用SET /P命令捕获正在流入命令块的文件中的文本行。

@echo off
setlocal enabledelayedexpansion

< gbv.txt (FOR /F "delims=" %%G IN (folder.txt) DO (
    set /p newname=
    echo rename "%%G" "!newname!"
    )
)
pause

屏幕上的输出将如下所示。

C:\BatchFiles\SO>so.bat
rename "F-93-B-109" "GBV529357402"
rename "F-93-B-122" "GBV52935795X"
rename "F-93-B-148" "GBV529360799"
rename "F-93-B-157" "GBV529362236"
Press any key to continue . . .

当输出看起来不错时,请在脚本重命名前删除 echo 一词。