Vous avez des dossiers, sous-dossiers et fichiers dont le nom comporte un ou plusieurs espaces.
Vous voulez les renommer en remplaçant les espaces par des tirets pour mieux les manipuler sous Windows.
Le code suivant fait le boulot et vous décharge d’une pénible tâche.
- Code:
-
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a In ('dir /b/a-d/s/a "C:\Users\acer\Desktop\Exemple de dossier" ') Do (
set "$File=%%~nxa"
set "$File=!$File: =-!"
ren "%%a" "!$File!"
)
pause
Vous devez modifier (ligne 3) le nom de votre dossier à traiter.
Enregistrer le code sous
RemplaceEspace.bat (par exemple, ou sous un autre nom de votre choix : l'extension doit obligatoirement être .bat) puis exécutez-le.
Comme exemple, j’ai testé sur un dossier
"C:\Users\acer\Desktop\Exemple de dossier" qui contenait :
Deux sous-dossiers :
Exemple de sous repertoire 1Exemple de sous repertoire 2Quatres fichiers :
Exemple de fichier 1Exemple de fichier 2Exemple de fichier 3Exemple de fichier 3Après exécution, tous les espaces dans les noms des sous-dossiers et des fichiers sont remplacés par des tirets.
- j’obtiens:
Edit :
Si vous voulez que le caractère espace soit remplacé par le caractère underscor(_), il suffit de remplacer, à la fin de la ligne 5, le signe -! par _!