我有一个文件夹.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
我对批处理有点新,并且在循环中不知道如何在这种情况下使用重命名
答案 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 一词。