【发布时间】:2015-05-04 18:36:47
【问题描述】:
我想编写一个批处理脚本来重命名目录中的文件夹。
可行的方法是,我将拥有一个包含我希望每个文件夹重命名的名称的文件。所以基本上批处理脚本只会从文件中选择名称(包含名称)并使用它来重命名每个文件夹。
因此,如果我有 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!"
))
上面的脚本没有给我想要的结果。
【问题讨论】:
-
set /p逐行读取文件的方法不适用于 FOR 循环 -
@npocmaka:
set /P命令放在 FOR 循环中是合并两个文件的最简单的方法。请参阅this example,或this one,或更多...您甚至可以使用此方法通过set /p将一个文件通过FOR 与多个输入文件 合并,如@ 987654323@, 或..
标签: batch-file renaming