Z http://windowsitpro.com/articles/index.cfm?articleid=81612 :
Używając tylko standardowych komend, oskryptowałem LwrCase.bat i LwrCase\Folder.bat, aby zmienić nazwę pliku na małe litery, lub zmienić wszystkie nazwy plików w folderze na małe litery.
Aby zmienić nazwę pliku na małe litery, użyj:
[call] LwrCase FullyQualifiedFileName
Gdzie FullyQualifiedFileName jest w pełni kwalifikowaną nazwą pliku, której nazwa ma być zmieniona.
Aby zmienić nazwy wszystkich plików w katalogu, użyj:
[call] LwrCase_Folder FullyQualifiedDirectoryName [/S]
gdzie FullyQualifiedDirectoryName jest w pełni kwalifikowaną ścieżką do katalogu, a /S jest opcjonalnym parametrem, który zmieni również nazwy plików we wszystkich podkatalogach.
UWAGA: LwrCase.bat wykorzystuje przełącznik /L polecenia DIR, który zwraca nazwy pisane małymi literami.
LwrCase.bat zawiera:
@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.bat zawiera:
@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