Windows 批量:将文件夹重命名为里面文件的名称

Windows Batch: Rename a folder to the name of a file inside

我有大约 3000 个文件夹,每个文件夹中都有多个文件。每个文件夹包含一个 txt 文件,以及一些其他文件类型。文件夹名称是散列的,所以现在它是一堆随机数字。我想将每个文件夹重命名为与该文件夹内的 txt 文件相同的名称。例如:

123456/myfile.txt

应该变成:

myfile/myfile.txt

文件夹不包含任何子文件夹,如果有的话。 非常感谢任何帮助!

for /d %%a in (*) do (
  for %%b in ("%%a\*.txt") do (
    ECHO ren "%%a" "%%~nb"
  )
)

使用 for /d 遍历您的文件夹,使用另一个 for 获取文件名(假设每个文件夹中只有一个 .txt 文件)。 %%~nb 只取名字不带扩展名)。

注意:故障排除后,删除 ECHO 以启用重命名命令。