【问题标题】:Windows Batch: Rename a folder to the name of a file insideWindows Batch:将文件夹重命名为里面的文件名
【发布时间】:2018-06-16 07:30:47
【问题描述】:
我有大约 3000 个文件夹,每个文件夹中有多个文件。每个文件夹都包含一个 txt 文件,以及一些其他文件类型。文件夹名称是散列的,所以现在它是一堆随机数字。我想将每个文件夹重命名为与该文件夹内的 txt 文件相同的名称。例如:
123456/myfile.txt
应该变成:
myfile/myfile.txt
这些文件夹不包含任何子文件夹,如果这很重要的话。
非常感谢任何帮助!
【问题讨论】:
标签:
windows
batch-file
rename
renaming
【解决方案1】:
for /d %%a in (*) do (
for %%b in ("%%a\*.txt") do (
ECHO ren "%%a" "%%~nb"
)
)
使用for /d 来遍历您的文件夹,并使用另一个普通的for 来获取文件名(假设每个文件夹中只有一个.txt 文件)。 %%~nb 仅获取名称,没有扩展名)。
注意:故障排除后,删除ECHO 以启用重命名命令。