Bonjour bbil, s'est pour créer un vbsqui va tester certaines applications pour voir si elle sont installer, j'aurai besoin d'un script qui liste les application installer dans un seul MsgBox, si s'est possible.
Bonjour bbil, s'est pour créer un vbsqui va tester certaines applications pour voir si elle sont installer, j'aurai besoin d'un script qui liste les application installer dans un seul MsgBox, si s'est possible.
Hello,
Déjà, tu as une erreur dans tes déclarations. J'ai modifié et là, l'exécution ne pose plus de pb... Rassure-toi, le problème est plus loin, il ne trouve pas les répertoires... mais déjà on va jusqu'au bout sans erreur...
Pour les répertoires ? Je cherche...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 dim i dim FilePath(10)
A+
Voilà pour les répertoires
Tu dis
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 dim i 'Tout d'abord tu met le chemin de tes fichier dans un tableau. dim FilePath(10) 'as string 'Ceci te permet d'avoir 10 fichiers mais tu peut redimensionner ton tableau avec l'instruction "ReDim preserve" si elle existe en vbs FilePath(1)="D:\xls\" FilePath(2)="C:\Program Files\" FilePath(3)="C:\Program Files\Microsoft Office\" FilePath(4)="C:\Program Files\Creative\" FilePath(5)="C:\Program Files\Microsoft Office\Office\" FilePath(6)="C:\Program Files\Microsoft Office\Office\Gestionnaire Office\" FilePath(7)="C:\WINDOWS\SYSTEM32\" FilePath(8)="C:\WINDOWS\SYSTEM\" FilePath(9)="C:\WINDOWS\Nimporte quoi\" FilePath(10)="C:\WINDOWS\Coucou\" 'Et maintenant tu peut commencer a chercher tes fichiers Set objFSO = CreateObject("Scripting.FileSystemObject") i=1 'Premiere solution : avec le "while" while i<=10 If objFSO.FolderExists(FilePath(i)) Then Wscript.Echo "Le répertoire " & FilePath(i) & " exite." Else Wscript.Echo "Le répertoire " & FilePath(i) & " n'exite pas." End If i=i+1 wend
A+
Merci beaucoup ouskel'n'or sa marche déjà beaucoup mieux, cepandant il reste un trcu, les résultat s'affiche dans des msgbox diférenet les un derière les autresn je voudrai que tout soit afficher dans un seul msgbox.
Dans le vbs vous dite que je peut redimentionné le tableau avec ReDim preserve, vous voulez dire que je peut le redimentionné dynamiquement ?
Tu dis
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 dim i 'Tout d'abord tu met le chemin de tes fichier dans un tableau. dim msg1, msg2 dim FilePath(10) 'as string 'Ceci te permet d'avoir 10 fichiers mais tu peut redimensionner ton tableau avec l'instruction "ReDim" FilePath(1)="D:\xls\" FilePath(2)="C:\Program Files\" FilePath(3)="C:\Program Files\Microsoft Office\" FilePath(4)="C:\Program Files\Creative\" FilePath(5)="C:\Program Files\Microsoft Office\Office\" FilePath(6)="C:\Program Files\Microsoft Office\Office\Gestionnaire Office\" FilePath(7)="C:\WINDOWS\SYSTEM32\" FilePath(8)="C:\WINDOWS\SYSTEM\" FilePath(9)="C:\WINDOWS\Nimporte quoi\" FilePath(10)="C:\WINDOWS\Coucou\" 'Et maintenant tu peut commencer a chercher tes fichiers Set objFSO = CreateObject("Scripting.FileSystemObject") i=1 while i<=10 If objFSO.FolderExists(FilePath(i)) Then msg1 = msg1 & FilePath(i) & vbcrlf Else msg2 = msg2 & FilePath(i) & vbcrlf End If i=i+1 wend Wscript.Echo "Les répertoires " & msg1 & " existent" Wscript.Echo "Les répertoires " & msg2 & " n'existent pas"
A+
Génial merci encore pour votre patience
Je vais peut être avoir l'aire un exigant mais se n'est pas possible que les répertoires existance soit lister dans le même msgbox que se qui n'éxiste pas ?
Dans le vbs vous dite que je peut redimentionné le tableau avec ReDim preserve, vous voulez dire que je peut le redimentionné dynamiquement ?
En vba, Redim Tableau(i)
redimensionne un tableau mais les données précédentes sont perdues
Redim Preserve Tableau(i)
est fait pour redimensionner un tableau en dynamique à la valeur de i mais en conservant les données jusqu'à i-1
En VBS, faut faire l'essai...
Pour ton autre question, là je trouve que tu pousses un peu
Je pense qu'en faisant un minimum d'effort, tu aurais pu le trouver tout seul, non ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Wscript.Echo "Les répertoires " & vbcrlf & msg1 & " existent" & vbcrlf & vbcrlf & "Les répertoires " & vbcrlf & msg2 & " n'existent pas"
D'autres questions ?
A+
Merci merci beaucoup
Ben pour redimentioner le tablau je ne pense pas que se soit utile en faite j'ai supprimer les 3 dernier répertoire mais j'ai laisser dim FilePath(10) et le script fonctionne quand même.
Oui efectivement j'aurai du réfléchire un peut, j'aurai du y penssé même s'été tout bête
J'ai une question pour toi : Si tu n'as qu'un répertoire existant ou qu'un répertoire n'existant pas, comment fais-tu pour mettre "exite" au singulier ou au pluriel ? Hein ?
A+
Justement se que je vien de faire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part Wscript.Echo "Le(s) répertoire(s) " & msg1 & " exist(ent)" & vbcrlf & "." & vbcrlf & "Le(s) répertoire(s) " & msg2 & " n'existe(nt) pas"
Maitenant j'aimerai un peut amélioré se script, voila en faite se que je veut faire avec ce script s'est tester combien de version d'un même logiciel sont installer est donc quel sont les versions installer, il faudrai donc maintenant qu'a la place d'afficher le chemin des répertoire dans le MsgBox chaque chemin soit associé à un numéro le numèro de la version, je pensse q'il faut utiliser des variables mais je ne voie pas coment faire, n'auriez vous pas une piste ?
Ah oui ? Hé bien tu as laissé une erreur, là
Wscript.Echo "Le(s) répertoire(s) " & msg1 & " exist(ent)" & vbcrlf & "." & vbcrlf & "Le(s) répertoire(s) " & msg2 & " n'existe(nt) pas"
A+
edit
Pour ta dernière question, tu devrais la poser sur le forum, celle-ci étant résolue
tiens j'ai modifié le code à oukel'nor .. pour te montrer un exemple d'utilisation de Redim... et l'utilisation de procédure/Fonctions pour organisation code...
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 dim FilePath() 'Tiens il sera redimensionable AjtFichier Filepath,"D:\xls\" AjtFichier Filepath,"C:\Program Files\" AjtFichier Filepath,"C:\Program Files\Microsoft Office\" AjtFichier Filepath,"C:\Program Files\Creative\" AjtFichier Filepath,"C:\Program Files\Microsoft Office\Office\" AjtFichier Filepath,"C:\Program Files\Microsoft Office\Office\Gestionnaire Office\" AjtFichier Filepath,"C:\WINDOWS\SYSTEM32\" AjtFichier Filepath,"C:\WINDOWS\SYSTEM\" AjtFichier Filepath,"C:\WINDOWS\Nimporte quoi\" AjtFichier Filepath,"C:\WINDOWS\Coucou\" if Not testfiles then Wscript.Echo "Erreur il Manque au moins un des répertoires " Wscript.Quit end if Wscript.Echo "Tous les répertoires existent .. on continue le traitement" ' ' Procédure D'ajout répertoir dans tableau ' Sub AjtFichier (FilePath, st) Dim i 'Nb Enreg On Error Resume next 'Pour eviter erreur si tableau vide i= ubound(filepath) redim preserve filepath(i+1) filePath(i) = st end sub ' ' Procedure de test existance fichiers ' Function testFiles Dim i Dim Msg Dim bErreur 'Passe à 1 si mqe un des répertoires bErreur = false Set objFSO = CreateObject("Scripting.FileSystemObject") msg = " Résultat test répertoires : " & vbCrlf for i = 0 to ubound(filepath) -1 If objFSO.FolderExists(filepath(i)) Then msg = msg & filepath(i) & " => OK" & vbcrlf else msg = msg & filepath(i) & " => INEXISTANT" & vbcrlf bErreur = true end if Next Wscript.Echo msg TestFiles=not bErreur 'Retour de la fonction end Function
ouskel'n'or merci pour la réctification
Maitenant j'aimerai un peut amélioré se script, voila en faite se que je veut faire avec ce script s'est tester combien de version d'un même logiciel sont installer est donc quel sont les versions installer, il faudrai donc maintenant qu'a la place d'afficher le chemin des répertoire dans le MsgBox chaque chemin soit associé à un numéro le numèro de la version, je pensse q'il faut utiliser des variables mais je ne voie pas coment faire, n'auriez vous pas une piste ?
Merci beaucoup bbil
Hello,
Je comprends ta question mais ce que je ne comprends pas c'est le lien avec la précédente. Tu listes des noms de répertoires pas des applis...
A+
Bojour, ah bon j'ai donné un lien je ne m'en souvient pas, et je ne e retrouve pas dans le poste, s'été quoi se lien ?
je me disais bien que ce n'etait pas la meme declaration en VB et en VBS.Envoyé par ouskel'n'or
J'ai une question pour ouskel'n'or, je remarque que pour voir si une application existe tu va voir si le repertoire qui le contient existe. Bien pense, mais voila il y a certaine application qui apres etre desinstaller ne supprime pas le repertoire dans "program file". Dans ce cas je croit que si Edoxituz execute sont code pour cette application, il va lui dire que m'appli existe (car le repertoire existera) et pourtant ce sera faut.
Moi je proposerais plutot (afin d'eviter le probleme poser plus haut) qu'il fasse une recherche sur l'exe de cet application (exemple "c:\Program file microsoft office\...\winword.exe). La aumoins on est sur de l'existance ou de la nom existance du fichier "exe" et par ricochet de l'application. Qu'en penses tu ??
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager