Bonjour à tout le monde,

J'aurai besoin d'un petit coup de main sur un petit projet professionnel que je souhaite mettre en place. Je vous explique :

J'utilise des images virtuelles VMWARE que je souhaite mettre à disposition de mes collègues pour une utilisation sur leurs postes. Donc je compresse mes VM avec 7-zip et je grave le tout sur DVD (au minimum 2, il peut y en avoir plus).

Plutôt que de demander à chaque personne de copier coller sur son poste tous les fichiers de tout les DVD, j'ai commencé un petit script qui une fois lancé copie les fichiers du DVD en local et demande d'insérer le disque suivant pour copier la suite, etc...

Mais je bloque un peu, et je pense que mon code actuel est loin d'être optimal je le sais et il est incomplet pour l'instant ...

Ce que j'ai (plus ou moins) réussi à faire pour l'instant :
- lire un fichier texte gravé sur chaque DVD qui contient la liste complète des fichiers à copier
- tester la présence d'un dossier sur le poste local (dans lequel seront copiés les fichiers) pour savoir si il faut créer ou non ce dossier
- lister les fichiers copiés en local
- indiquer si le fichier est déjà copié

ce que je n'arrive pas à faire :
- comparer le fichier texte du DVD avec le contenu du répertoire en local pour savoir si tous les fichiers sont copiés
- boucler dans le cas où il faut insérer le disque suivant pour ne pas avoir à relancer le script
- et indiquer quand la procédure est terminée

Je vous mets mon code actuel : (c'est des morceaux de scripts piochés à droite à gauche sur le net)

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
set objFSO=CreateObject("Scripting.FileSystemObject")
Set wshell = CreateObject("WScript.Shell")
Set colDrives = objFSO.Drives 
 
For Each objDrive in colDrives
	If objDrive.DriveType=4 then
		if (objDrive.IsReady = true) then
			If objFSO.FileExists(objDrive.rootfolder & "Liste.txt") Then
				set objFile=objFSO.OpenTextFile(objDrive.rootfolder & "Liste.txt")
				Do Until objFile.AtEndOfStream 
					If objFSO.FolderExists(wshell.ExpandEnvironmentStrings("%SYSTEMDRIVE%") & "\Images virtuelles\") Then
						strLine = objFile.ReadLine
						Source = objDrive.rootfolder & strLine
						destination = wshell.ExpandEnvironmentStrings("%SYSTEMDRIVE%") & "\Images virtuelles\" & strLine
						If objFSO.FileExists(destination) Then
							MsgBox "Fichier déjà copié : " & strLine
						Else
			    			If objFSO.FileExists(source) Then
								objFSO.copyFile source, destination
							Else
 
							End if
						End if
					Else
						objFSO.CreateFolder("C:\Images virtuelles")
					End if
				Loop
				MsgBox "Veuillez insérer le disque suivant"
			End if
		End if
	End if
Next

Merci de l'aide que vous pourriez me fournir