酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

windos bat脚本 递归批量将文件名中的大写改成小写,从当前脚本所在目录开始递归所有文件,执行完后挂起

以下是一个Windows批处理(bat)脚本,它可以递归地将当前脚本所在目录下所有文件的文件名中的大写字母转换为小写字母,执行完后挂起: ```batch @echo off :: 启用延迟环境变量扩展 setlocal enabledelayedexpansion :: 获取当前脚本所在的目录 set "scriptDir=%~dp0" :: 递归遍历当前目录下的所有文件 for /r "%scriptDir%" %%F in (*) do ( :: 获取文件名(不包含路径) set "fileName=%%~nxF" :: 将文件名中的大写字母转换为小写字母 set "lowerCaseFileName=!fileName:A=a!" set "lowerCaseFileName=!lowerCaseFileName:B=b!" set "lowerCaseFileName=!lowerCaseFileName:C=c!" set "lowerCaseFileName=!lowerCaseFileName:D=d!" set "lowerCaseFileName=!lowerCaseFileName:E=e!" set "lowerCaseFileName=!lowerCaseFileName:F=f!" set "lowerCaseFileName=!lowerCaseFileName:G=g!" set "lowerCaseFileName=!lowerCaseFileName:H=h!" set "lowerCaseFileName=!lowerCaseFileName:I=i!" set "lowerCaseFileName=!lowerCaseFileName:J=j!" set "lowerCaseFileName=!lowerCaseFileName:K=k!" set "lowerCaseFileName=!lowerCaseFileName:L=l!" set "lowerCaseFileName=!lowerCaseFileName:M=m!" set "lowerCaseFileName=!lowerCaseFileName:N=n!" set "lowerCaseFileName=!lowerCaseFileName:O=o!" set "lowerCaseFileName=!lowerCaseFileName:P=p!" set "lowerCaseFileName=!lowerCaseFileName:Q=q!" set "lowerCaseFileName=!lowerCaseFileName:R=r!" set "lowerCaseFileName=!lowerCaseFileName:S=s!" set "lowerCaseFileName=!lowerCaseFileName:T=t!" set "lowerCaseFileName=!lowerCaseFileName:U=u!" set "lowerCaseFileName=!lowerCaseFileName:V=v!" set "lowerCaseFileName=!lowerCaseFileName:W=w!" set "lowerCaseFileName=!lowerCaseFileName:X=x!" set "lowerCaseFileName=!lowerCaseFileName:Y=y!" set "lowerCaseFileName=!lowerCaseFileName:Z=z!" :: 如果文件名发生了变化,则重命名文件 if "!fileName!" neq "!lowerCaseFileName!" ( ren "%%F" "!lowerCaseFileName!" ) ) :: 执行完后挂起,等待用户输入 pause ``` 额外需要注意的逻辑点: 1. 该脚本会递归处理当前脚本所在目录下的所有文件,包括隐藏文件和系统文件,可能会对系统文件或隐藏文件造成影响,使用前请确保备份重要数据。 2. 如果文件名中包含特殊字符(如空格、引号等),脚本可以正常处理,但如果文件名包含一些系统保留字符(如 `*`、`?` 等),可能会导致重命名失败。 3. 由于脚本是通过逐个替换大写字母来实现转换的,如果文件名非常长,可能会有性能问题。在处理大量文件或长文件名时,需要注意脚本的执行时间。 [2025-07-15 15:25:16 | AI写代码神器 | 760点数解答]

相关提问