Résolu - Probleme sur script de renomage en masse

Résolu
Dodley Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
Dodley Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Ayant besoin de renommer des dossiers en masse (passage en minuscule), j'ai trouvé un petit script.
Lorsque je lance celui, il fait ce qu'il est censé faire sauf qu'il crée un espace devant le nom du dossier ce qui me gene.
Ne connaissant rien dans ce domaine, je vous remercie par avance.
Voici le code :

set fsys = createobject("scripting.filesystemobject")
yourfolder = "d:\tmp"
for each item in fsys.getfolder(yourfolder).subfolders
item.name = " "&lcase(item.name)
next


Merci par avance.

A voir également:

3 réponses

Yoda
 
Bonjour

Il suffit de retirer l'espace.

item.name = lcase(item.name)

A+
1
Dodley Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Merci de la réponse. j'ai appliqué la modification que tu m'a donné, mais il y a une erreur , le script me dit que le fichier existe déja.

Merci de ton aide
0
Yoda
 
effectivement, je crois que windows ne différencie pas les minuscules des majuscules dans les noms de fichiers
exemple:
Test.xls, TEST.XLS, TesT.Xls designent le même fichier.

Que veux tu faire exactement.
0
Dodley Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
En fait j'ai sur un hdd externe plus de 900 dossier (d'ou l'envie de passer par un script), qui sont pour certains nommer en majuscule, d'autres en minuscules, et d'autres encore avec la premiere lettre en majuscule et le reste en minuscule.

J'aurai souhaité les nommer tous de la meme facon, c'est à dire en minuscule, ou encore avec la premiere lettre en majuscule.

De temps en temps, j'arrive à adapter des scripts à mes petits besoins, mais pas cette fois ci .

Merci encore pour ton aide ;-)
0
Yoda
 
Essaye en rajoutant la ligne item.name=LTrim(item.name)
en fait, on renome en ajoutant un blanc devant pour etre sur que le fichier n'existe pas déjà
et on renomme une deuxième fois en supprimant les blanc devant le nom.

set fsys = createobject("scripting.filesystemobject")
yourfolder = "d:\tmp"
for each item in fsys.getfolder(yourfolder).subfolders
item.name = " "&lcase(item.name)
item.name=LTrim(item.name)
next

Si ça ne mache pas, essaye avec deux boucles

set fsys = createobject("scripting.filesystemobject")
yourfolder = "d:\tmp"
for each item in fsys.getfolder(yourfolder).subfolders
item.name = " "&lcase(item.name)
next
for each item in fsys.getfolder(yourfolder).subfolders
item.name=LTrim(item.name)
next

A+
0
Dodley Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup de ton aide, ta première solution fonctionne parfaitement.
Encore merci je vais gagner des Giga-secondes !!!!
0