1
如何使用批處理腳本重命名文件夾名稱?我需要重命名文件名稱,如:使用批處理腳本重命名所有文件夾名稱
a Filename1
b filename2
to
A
B
即使其大寫和子字符串只對初始部分。 到目前爲止,我想出了:
@echo "Renaming file"
for /D %%f in (C:\REN\*) do rename "%%f" "%%~nxf_myname"
pause
如何使用批處理腳本重命名文件夾名稱?我需要重命名文件名稱,如:使用批處理腳本重命名所有文件夾名稱
a Filename1
b filename2
to
A
B
即使其大寫和子字符串只對初始部分。 到目前爲止,我想出了:
@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 (
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 "newName=!newName:%%C=%%C!"
ren "!name!" "!newName!"
endlocal
)
)
那麼你想只取第一個字符並轉換爲大寫?請指定_exact_重命名模式... – 2012-07-13 11:50:43
那它是哪一個?你想重命名文件夾或文件嗎? – dbenham 2012-07-13 13:27:37
@EitanT我想在空格之前只對字母進行重命名,以便在空格之後包含空格並刪除其他字母 – kinkajou 2012-07-16 01:27:38