繁体   English   中英

Windows Batch:将文件夹重命名为其中的文件名

[英]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以启用重命名命令。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM