如何在Python中基于父文件夹重命名数字更小的子文件夹
解决方案:使用Windows批处理脚本
这是无需额外软件的简单方案,直接在Windows 10上运行即可:
- 打开记事本,复制粘贴以下代码:
@echo off setlocal enabledelayedexpansion :: 替换为你的根文件夹路径,比如 D:\test\folder set "root_folder=你的根文件夹路径" cd /d "%root_folder%" :: 遍历每个子文件夹(sub-f1、sub-f2等) for /d %%p in (*) do ( set "min_folder=" set "min_num=999999" :: 遍历当前父文件夹下的子文件夹 for /d %%s in ("%%p\*") do ( :: 提取文件夹名称中的数字部分(比如从"1-1000"中获取1000) set "folder_name=%%~ns" for /f "tokens=2 delims=-" %%n in ("!folder_name!") do ( :: 比较数字大小,记录更小的那个 if %%n lss !min_num! ( set "min_num=%%n" set "min_folder=%%s" ) ) ) :: 重命名找到的最小数字文件夹 if defined min_folder ( ren "!min_folder!" "%%p-1" echo 已处理:将 "!min_folder!" 重命名为 "%%p-1" ) ) echo 所有操作完成! pause
修改代码中的
set "root_folder=你的根文件夹路径",把路径换成你实际的根文件夹(比如D:\myfiles\folder)。保存文件,文件名后缀设为
.bat(比如rename_folders.bat),注意保存时编码选择ANSI。双击运行这个批处理文件,它会自动完成所有操作。
关键说明
- 脚本会自动遍历根文件夹下的所有一级子文件夹(sub-f1、sub-f2等)。
- 对于每个子文件夹,提取其下两个子文件夹名称中
-后面的数字,比较后选中数字更小的那个。 - 将选中的文件夹重命名为「父文件夹名+
-1」的格式(比如sub-f1-1)。 - 运行过程中会打印处理日志,方便你确认操作结果。
内容的提问来源于stack exchange,提问作者kom
相关产品推荐
相关产品推荐

