Bonjour,
Dans un dossier, j'ai un ensemble de sous répertoires et pour certains les noms sont écrit avec un mélange de majuscule et de minuscule.
Je voudrais passer tous les noms en majuscule.
Les répertoires existant déjà, je dois (?) passer par un nom intermédiaire pour les renomer, j'ajoute donc un .temp au nom d'orrigine (ligne 38).
Voici ou en est mon script, et je bloque sur la ligne 40 qui me retourne l'erreur 800A0005, argument ou appel de procédure incorrect ...
Pouvez vous me donner un coup de main? C'est certainement assez trivial, mais je ne trouve pas!
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 option explicit dim FSO, objShell dim obFolder, obFolder2, obSubFolder, SubFolderName dim SubFolderPath, UCaseName, NewFolderName, FD, FName 'Get Application object of the Windows shell. Set objShell = WScript.CreateObject("Shell.Application") 'Ask the user to select a folder Set FSO = CreateObject("Scripting.FileSystemObject") Set obFolder = objShell.BrowseForFolder (&H0&, "Select the folder to process", &H1&) ' Var obFolder 'Keep obFolder for sub programms Set obFolder2 = obFolder If NOT obFolder IS Nothing Then CheckRepSondage FSO, obFolder.Self.Path MsgBox "Finished" Else MsgBox "Canceled" End If Sub CheckRepSondage (FSO, FolderPath) Set obFolder = FSO.GetFolder(FolderPath) For Each obSubFolder In FSO.GetFolder(obFolder).SubFolders 'Prend le chemin du rep SubFolderPath = obSubFolder.Path 'Met le chemin en majuscules UCaseName = UCase (SubFolderPath) Set FD = FSO.GetFolder(obSubFolder) 'Ajoute .temp au chemin FName = UCaseName & ".temp" 'Renome le répertoire FD.Name = FName Next End Sub
Partager