如何编写批处理仅将顶级目录名改为小写(不含子目录)
仅修改当前目录顶级文件夹为小写的批处理脚本
直接用原生批处理就能实现需求,不需要依赖第三方工具。以下是完整脚本:
@echo off setlocal enabledelayedexpansion :: 遍历当前目录下的所有顶级文件夹 for /d %%d in (*) do ( :: 获取文件夹原名称 set "original=%%~nxd" :: 生成小写名称 set "lowercase=!original!" for %%l in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do ( set "lowercase=!lowercase:%%l=%%l!" ) :: 如果原名称和小写名称不同,执行重命名 if not "!original!"=="!lowercase!" ( ren "%%d" "!lowercase!" echo 已重命名:"!original!" → "!lowercase!" ) ) endlocal pause
脚本说明
@echo off:关闭命令行默认的命令回显setlocal enabledelayedexpansion:启用延迟环境变量扩展,确保循环内变量能正确更新for /d %%d in (*):遍历当前目录下的所有顶级文件夹(不包含子文件夹)- 通过循环替换每个大写字母为小写,生成目标名称
- 对比原名称和小写名称,仅在不同时执行重命名,避免无意义操作
注意事项
- 脚本仅处理当前目录的顶级文件夹,不会递归修改子文件夹
- 如果文件夹名称包含特殊字符(如空格、&等),脚本依然能正常处理
- 执行前建议先备份重要文件夹,避免意外情况
内容的提问来源于stack exchange,提问作者c4k3ss
相关产品推荐
相关产品推荐

