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

问题描述 投票:-1回答:1

我有一个文件folder.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

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

batch-file batch-processing batch-rename
1个回答
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。

© www.soinside.com 2019 - 2024. All rights reserved.