如何使用批处理脚本重命名文件夹名称? 我需要重命名文件名称,如:
a Filename1 b filename2 to A B
即使大写字母和子string只有初始部分。 到目前为止,我已经想出了:
@echo "Renaming file" for /D %%f in (C:\REN\*) do rename "%%f" "%%~nxf_myname" pause
我假设你实际上想重命名在C:\ REN \中找到的文件夹,而不是文件。
我还假设你的意思是“最初的部分”,直到第一个空格字符。 如果这是正确的,那么你想用FOR / F来把名字解析成标记。
SET搜索和替换功能对于搜索部分是不区分大小写的。
我正在为原始名称和新名称创建变量,并且为了防止文件夹名称包含!
字符。 如果值包含,则变量被破坏!
并启用延迟扩展。
@echo off setlocal disableDelayedExpansion echo Renaming folders for /d %%F in (C:\REN\*) do ( for /f "eol= " %%A in ("%%~nxF") do ( set "name=%%F" set "newName=%%A" setlocal enableDelayedExpansion for %%C in ( ABCDEFGHIJKLM NOPQRSTUVWXYZ ) do set "newName=!newName:%%C=%%C!" ren "!name!" "!newName!" endlocal ) )