Von http://windowsitpro.com/articles/index.cfm?articleid=81612 :
Nur mit Standardbefehlen habe ich die Skripte LwrCase.bat und LwrCase_Folder.bat erstellt, um einen Dateinamen in Kleinbuchstaben umzubenennen, oder alle Dateinamen in einem Ordner in Kleinbuchstaben umzubenennen.
Um einen Dateinamen in Kleinbuchstaben umzubenennen, verwenden Sie:
[call] LwrCase FullyQualifiedFileName
Wobei FullyQualifiedFileName der voll qualifizierte Dateiname ist, der umbenannt werden soll.
Um alle Dateinamen in einem Verzeichnis umzubenennen, verwenden Sie:
[call] LwrCase_Folder FullyQualifiedDirectoryName [/S]
, wobei FullyQualifiedDirectoryName der voll qualifizierte Ordnerpfad ist und /S ein optionaler Parameter ist, der auch die Dateinamen in allen Unterordnern umbenennen wird.
HINWEIS: LwrCase.bat verwendet den Schalter /L des Befehls DIR, der Namen in Kleinbuchstaben zurückgibt.
LwrCase.bat enthält:
@echo off
if {%1}=={} @echo Syntax: LwrCase FullyQualifiedFileName&goto :EOF
if not exist %1 @echo LwrCase - %1 NOT found.&goto :EOF
setlocal
for /f "Tokens=*" %%a in ('@echo %~a1') do (
set file=%%a
)
if /i "%file:~0,1%" EQU "d" @echo LwrCase - %1 is NOT a file.&endlocal&goto :EOF
for /f "Tokens=*" %%f in ('dir %1 /L /b /a /a-d') do (
Rename %1 "%%f"
)
endlocal
LwrCase_Folder.bat enthält:
@echo off
if {%1}=={} @echo Syntax: LwrCase_Folder FullyQualifiedDirectoryName&goto :EOF
if not exist %1 @echo LwrCase_Folder - %1 NOT found.&goto :EOF
setlocal
for /f "Tokens=*" %%a in ('@echo %~a1') do (
set folder=%%a
)
if /i "%folder:~0,1%" NEQ "d" @echo LwrCase_Folder - %1 is NOT a folder.&endlocal&goto :EOF
pushd %1
set sw=/B /A /A-D
if /i {%2}=={/S} set sw=%sw% %2
for /f "Tokens=*" %%f in ('dir %sw%') do (
call LwrCase "%%f"
)
popd
endlocal