【问题标题】: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 以启用重命名命令。

    【讨论】:

    • 这很完美,正是我所需要的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2013-04-06
    • 2017-12-12
    • 2015-10-22
    • 2015-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-29
    相关资源
    最近更新 更多