Extrait de http://windowsitpro.com/articles/index.cfm?articleid=81612 :
En utilisant uniquement des commandes standard, j'ai scripté LwrCase.bat et LwrCase_Folder.bat, pour renommer un nom de fichier en minuscules, ou renommer tous les noms de fichiers d'un dossier en minuscules.
Pour renommer un nom de fichier en minuscules, utilisez:
[call] LwrCase FullyQualifiedFileName
Où FullyQualifiedFileName est le nom de fichier entièrement qualifié à renommer.
Pour renommer tous les noms de fichiers dans un répertoire, utilisez:
[call] LwrCase_Folder FullyQualifiedDirectoryName [/S]
où FullyQualifiedDirectoryName est le chemin d'accès au dossier pleinement qualifié, et /S est un paramètre optionnel qui renommera également les noms de fichiers dans tous les sous-dossiers.
NOTE : LwrCase.bat utilise le commutateur /L de la commande DIR, qui renvoie les noms en minuscules.
LwrCase.bat contient :
@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 contient :
@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