![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| VBScript Le forum d'entraide sur VBScript. Avant de poster -> La FAQ VBScript |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: avril 2006
Messages: 22
|
je suis en train de mettre en place une nouvelle commande en WHS, qui installe automatiquement un logiciel.
fonctionnement : on appelle la commande en rentrant une valeur en parametre ex : Z:> autoinstall.vbs acrobatrea_6 le logiciel se situe dans => Z:\acrobatrea_6 Ce que je n'arrive pas à faire c'est appeler le fichier "install.bat" (qui lance l'executable ou le package) qui se situe dans le dossier => Z:\acrobatrea_6\install.bat des bout de mon code : Code :
Set ObjArg = WScript.Arguments
logiciel = ObjArg(I)
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FolderExists(logiciel)) Then
wscript.echo "le dossier existe"
install = 1
Else
wscript.echo "CE PROGRAMME N'EXISTE PAS "
install = 0
End If
if install then
"appeler le fichier batch dans currentdirectory\logiciel\install.bat"
else
wscript.echo "ERREUR"
end if
merci pour votre aide Dernière modification par AlainTech ; 24/04/2006 à 21h33 |
|
|
|
|
|
#2 (permalink) |
![]() Date d'inscription: février 2005
Localisation: Une petite rue qui "avait" un merle
Messages: 11 574
|
Code :
Call Shell("cmd /c c:\Chemin\coucou.bat") Tu n'aurais pas eu à attendre A+
__________________
Je...ne...réponds...pas....aux...questions...techniques... par...mp La recherche (VBA-E) : Le Forum, La FAQ, Les cours et tutoriels, Contribuez, Les Sources et... l'Aide en ligne !!!
|
|
|
|
|
|
#3 (permalink) | |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: avril 2006
Messages: 22
|
j'ai pas trouver la fonction recherche sur le forum ...
et ta solution ne fonctionne po dans l'appel du .bat je dois utiliser les variables "logiciel" et "curentfldr" j'avais un debut de reponse je crois mais ça ne fonctionne pas... voila ce que j'ai : Citation:
*variable curentfldr contient => Z:\acrobatrea_6 merki
|
|
|
|
|
|
|
#5 (permalink) | ||
|
Candidat au titre de Membre du Club
![]() Date d'inscription: avril 2006
Messages: 22
|
ça va fonctionné mais ici je n'utilise pas les variables de l'utilisateurs
c'est rentré en dur... j'ai peut etre une piste je vais essaier de me deplacé dans le dossier pour que mon dossier courant soit : => Z:\acrobatrea_6 comme ça j'aurai qu'à mettre le code : Citation:
j'ai essaier ça dans un desespoir totale Citation:
|
||
|
|
|
|
|
#7 (permalink) |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: avril 2006
Messages: 22
|
j'ai l'impression qu'il ne prend que les valeurs qui sont dans les premieres guillemets et non toute la ligne
j'ai essaier d'ajouter des parenthèses mais toujours pas ... j'ai essaier de mettre en variable le chemin complet aussi marche pas... dire qu'il me manque plus que ça pour que se soit fini Dernière modification par angelus95 ; 24/04/2006 à 16h47 |
|
|
|
|
|
#8 (permalink) | |
![]() Date d'inscription: février 2005
Localisation: Une petite rue qui "avait" un merle
Messages: 11 574
|
Si ça ne fonctionne pas essaie de passer par une variable
Code :
LaVar = "cmd /c " & curentfldr & "\install.bat" curentfldr.Run LaVar Citation:
Code :
Call Shell("cmd /c " & curentfldr & "\install.bat")
__________________
Je...ne...réponds...pas....aux...questions...techniques... par...mp La recherche (VBA-E) : Le Forum, La FAQ, Les cours et tutoriels, Contribuez, Les Sources et... l'Aide en ligne !!!
|
|
|
|
|
|
|
#10 (permalink) | |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: avril 2006
Messages: 22
|
Citation:
oui je fait des echo de mes var depuis le debut elles sont ok Code :
if install then Set WshShell = WScript.CreateObject("WScript.Shell") curentfldr = wshshell.currentdirectory & logiciel wscript.echo curentfldr & "\install.bat" 'LaVar = "cmd " & curentfldr & "\install.bat" 'wshshell.Run LaVar 'WshShell.Run curentfldr & "\install.bat" Call Shell("cmd /c " & curentfldr & "\install.bat") le desespoir m'envahie... |
|
|
|
|
|
|
#11 (permalink) |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: avril 2006
Messages: 22
|
peut etre que si je met tout mon code ça vous aidera
Code :
Dim MyArray, logiciel, pass, fso, wshshell Set ObjArg = WScript.Arguments logiciel = ObjArg(I) syntaxe = " la syntaxe est : {nomdulogicielcomplet}_{nversion}[sous version] /// nom du logiciel est limité a 10 caractères, le numéro de version doit être numérique et comporter 2 caractères" MyArray = Split(Logiciel, "_", -1, 1) if len(myarray(0)) > 10 then wscript.echo "ERREUR!! DE SYNTAXE pour Nom de logiciel" wscript.echo " " wscript.echo " " wscript.echo " " wscript.echo syntaxe install = 0 elseif len(myarray(1))>2 or not isnumeric(myarray(1)) or install then wscript.echo "ERREUR!! DE SYNTAXE pour N° de version" wscript.echo " " wscript.echo " " wscript.echo " " wscript.echo syntaxe install = 0 else install=1 end if Set fso = CreateObject("Scripting.FileSystemObject") If (fso.FolderExists(logiciel)) Then wscript.echo "le dossier existe" install = 1 Else wscript.echo "CE PROGRAMME N'EXISTE PAS " install = 0 End If if install then Set WshShell = WScript.CreateObject("WScript.Shell") curentfldr = wshshell.currentdirectory & logiciel wscript.echo curentfldr & "\install.bat" 'LaVar = "cmd " & curentfldr & "\install.bat" 'wshshell.Run LaVar 'WshShell.Run curentfldr & "\install.bat" Call Shell("cmd /c " & curentfldr & "\install.bat") 'Set WshShell = WScript.CreateObject("WScript.Shell") 'set wshsell.currentdirectory = wshshell.currentdirectory & "\" & logiciel else wscript.echo "ERREUR" end if S'il te plait, indente ton code (si wscript le tolère...) Dernière modification par angelus95 ; 25/04/2006 à 09h27 |
|
|
|
|
|
#12 (permalink) |
![]() |
moi ce que je comprends pas dans ton code c'est que tu teste si le répertoire contenu dans la variable logiciel existe :
Code :
If (fso.FolderExists(logiciel)) Then Code :
curentfldr = wshshell.currentdirectory & logiciel
|
|
|
|
|
|
#13 (permalink) |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: avril 2006
Messages: 22
|
mon script est executé à partir de la racine d'un lecteur mappé
le lecteur est en faite un point de distrib de logiciel où je stock tout. ex => Z: <=== (wshshell.currentdirectory) je test ensuite si le dossier du logiciel qu'on veut installer existe acrobatrea_6 <==== (logiciel) ensuite je fait une variable curentfldr (que j'ai renommé prgfldr Z:\acrobatrea_6 <===== (curentfldr) dans ce dossier il y a un fichier .bat qui execute setup.msi <===== c'est là que ça bloque j'sais pas si j'ai été claire? resumé : => il y a une regle de nommage a respecter - entré en variable des parametre <= ok - séparation des valeurs <= ok - test si les valeurs sont correct (regle de nommage) <= ok - test si le dossier existe <= ok - appelle le fichier batch <= fonctionne pas !! - installation <= ok Dernière modification par angelus95 ; 25/04/2006 à 13h10 |
|
|
|
|
![]() |
![]() |
||
[VBS]appeler un fichier bat
|
||
| Outils de la discussion | |
|
|