Bonjour,

Le petit script ci-dessous, en développement, fonctionne correctement et me trouve les répertoires LAS20 qui peuvent être à une "distance" variable de la racine.

L'arborescence étant du type : C:\a\...\c\répertoire ou la chaine C:\a\...\c peut être variable.

Répertoire contient deux sous répertoires : "Données brutes" et "Données traitées". Le répertoire LAS20 cible de la recherche de départ se trouve dans "Donnée brutes".

Je voudrais construire les chemins (ligne 68 et suivante(s)) , utilisable dans d'autre sous programmes (à écrire) pour enregistrer des fichiers dans "Données brutes" et dans "Données traités".

Comment faire pour construire ces chemins? ... Je n'y arrive pas.

Si je peux avoir de l'aide je vous en remercie d'avance,

Bon WE de pâque à tous

Michel

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
 'Get Application object of the Windows shell.
	Set objShell = WScript.CreateObject("Shell.Application")
 
'Get access to script folder and create the resulting file in it
	Set FSO = CreateObject("Scripting.FileSystemObject")
	PATH = FSO.GetParentFolderName(wscript.ScriptFullName) & "\"
 
'Ask the user to select a folder
	Set obFolder = objShell.BrowseForFolder (&H0&, "Select the folder to process", &H1&)
	'Keep obFolder for sub programms
	Set obFolder2 = obFolder
 
If Not obfolder IS Nothing Then 'si obfolder n'est pas rien!
 
'Corps du script
 
'Start WellCAD
	Set WCAD = CreateObject("WellCAD.Application")
	WCAD.ShowWindow()
 
'Get access to input folder and process it
 
	'Crée la variable PATH comme étant le chemin du répertoire du script
	PATH = FSO.GetParentFolderName(wscript.ScriptFullName) & "\"
 
	'wscript.echo "Path = " & PATH
 
	'Appel le sous programme Processfolder
	Processfolder WCAD, FSO, PATH, obFolder.self.Path
 
 
	MsgBox "Finished"
 
Else
 
	MsgBox "Canceled"
 
End If
 
 
'Sous Programme process folder
Sub ProcessFolder(WCAD, FSO, PATH, FolderPath)
 
	'Get access to the folder
	Set obFolder = FSO.GetFolder(FolderPath)
 
	'Loop on all the files and process each of them
	For Each obFile In obFolder.Files
 
		'Regarde si fichiers présent dans le répertoire
		If (StrComp(Right(obFile.Name, 3), "las", 1) = 0) Then ProcessLasFiles WCAD, FSO, FolderPath
		Exit For
		'End If
 
	Next
 
	'Loop on all the subfolders and process each of them
	For Each obSubFolder In obFolder.SubFolders
		ProcessFolder WCAD, FSO, PATH,  obSubFolder.Path
	Next
 
End Sub
 
Sub ProcessLasFiles (WCAD, FSO, FolderPath)
 
	Wscript.echo "Trouvé fichier LAS"
	Set obSubFolder = FSO.GetFolder(FolderPath)
 
	Wscript.echo "obSubFolder = " & obSubFolder 'contient bien le bon chemin
 
 
End Sub