81 votes

Existe-t-il un moyen de renommer les fichiers en minuscules par lots ?

J'ai besoin d'un moyen de renommer tous les fichiers des dossiers et sous-dossiers en minuscules.

J'aimerais savoir s'il existe un moyen de faire cela en utilisant sólo Windows (XP ou 7)

6voto

Ben Collins Points 11318

Mon utilitaire de renommage de fichiers par lots préféré est le suivant Le nom sauvage de Cylog . Parmi de nombreuses autres fonctionnalités, il peut changer la casse des noms de fichiers. La meilleure chose à propos de WildRename est probablement qu'il supporte les expressions régulières !

3voto

DednDave Points 31

Vous pourriez utiliser une stratégie de "remplacement de personnage"...

set Name=%Name:A=a%
set Name=%Name:B=b%
set Name=%Name:C=c%

...et ainsi de suite, pour les lettres A-Z. Vous pourriez probablement l'implémenter sous la forme d'un boucle for.

2voto

JP Hellemons Points 441

Powershell

Naviguez vers le répertoire et exécutez :

dir | Rename-Item -NewName { $_.Name.ToLowerInvariant() }

J'ai vérifié que cela fonctionne. Trouvé ici : http://www.hanselman.com/blog/PennyPinchingVideoMovingMyWebsitesImagesToTheAzureCDNAndUsingACustomDomain.aspx

1voto

Chris Huseman Points 826

http://www.dostips.com/DtCodeCmdLib.php#Function.toLower donne une fonction simple que vous devriez être capable d'inclure et d'appeler à partir d'un fichier batch.

Le fichier batch doit donc itérer sur les dossiers/films, et appeler cette fonction pour générer la version minuscule du nom.

1voto

Vorac Points 3949

Desde 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 minuscule, ou renommer tous les noms de fichiers dans un dossier en minuscule.

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 d'un répertoire, utilisez :

[call] LwrCase_Folder FullyQualifiedDirectoryName [/S]

où FullyQualifiedDirectoryName est le chemin d'accès au dossier entièrement qualifié, et /S est un paramètre facultatif 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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X