如何仅使用命令提示符将目录中的多个文件夹批量重命名为小写?

时间:2016-03-26 22:41:26

标签: windows windows-8.1 command-prompt

我正在组织我的音乐文件夹,我想重命名我的音乐文件夹中的所有文件夹,以便文件夹名称中的每个字符都是小写的,而不会更改任何其他内容。

有没有办法可以使用Windows命令提示符执行此操作?

1 个答案:

答案 0 :(得分:0)

@ECHO OFF
SETLOCAL
SET "alphabet=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"
SET "targetdir=U:\destdir"
FOR /f "delims=" %%a IN (
 'dir /b /a-d "%targetdir%\*" '
 ) DO (
 SET "name1=%%a"
 SET "name2=%%a"
 CALL :subsren
)

GOTO :EOF

:subsren
SETLOCAL ENABLEDELAYEDEXPANSION
FOR %%s IN (%alphabet%) DO SET "name2=!name2:%%s=%%s!"
endlocal&SET "name2=%name2%"
if "%name1%" neq "%name2%" ECHO(REN "%targetdir%\%name1%" "%name2%"
GOTO :EOF

您需要更改targetdir的设置以适合您的具体情况。

为了测试目的,所需的REN命令仅为ECHO在您确认命令正确后,将ECHO(REN更改为REN以实际重命名文件。

抓取每个文件名并将其分配给name1name2,然后调用子例程:subsren

name2中的每个字母替换为其低等级,然后使用标准解析技巧将修改后的name2导出setlocal/endlocal括号。

如果name2name1不同并且全部完成,则

重命名!