VBS Argumentation dans un racourci ?

VBS Argumentation dans un racourci ? - VB/VBA/VBS - Programmation

Marsh Posté le 02-02-2005 à 13:37:05    

Bonjour ,
 
Je créer un petit script VBS qui devrais me créer un racourci  
mais dans le racourci je dois argumenter l'executable  
ex: "c:\Program Files\test\application.exe" argument .
 
j'ai ça pour le moment
 
Dim Shell, DesktopPath, Application
Set Shell = CreateObject("WScript.Shell" )
DesktopPath = Shell.SpecialFolders("Desktop" )
Set application = Shell.CreateShortcut(DesktopPath & "\Thaler PRG.lnk" )
application.TargetPath = "c:\Program Files\test\application.exe" argument  
application.WorkingDirectory = "c:\Program Files\test\"
application.Save
 
 
Mais il me génére une erreur car il n'arrive pas a interpretter l'argument
 
Bien à vous  
JuVeNaL

Reply

Marsh Posté le 02-02-2005 à 13:37:05   

Reply

Marsh Posté le 02-02-2005 à 13:42:55    

Cette ligne est chelou :

application.TargetPath = "c:\Program Files\test\application.exe" argument


 
T'as une chaîne de caractère, et pis après "argument" qui traîne là :heink:
Ca serait pas de là, que vient le problème ?

Reply

Marsh Posté le 02-02-2005 à 13:57:13    

FlorentG a écrit :

Cette ligne est chelou :

application.TargetPath = "c:\Program Files\test\application.exe" argument


 
T'as une chaîne de caractère, et pis après "argument" qui traîne là :heink:
Ca serait pas de là, que vient le problème ?


 
Bonjour FlorentG,
 
En faite niveau du racourci je doit mettre un argument a la fin du racourci . C'est une application dev en interne .
dans le racourci ça doit donner cela dans le Target "c:\Program Files\test\application.exe" argument
 
Je ne me suis pas occuper du dev de cette application et je ne peut malheureusement pas changer cette pratique de l'argument....
 
Bien à toi
JuVeNaL

Reply

Marsh Posté le 02-02-2005 à 13:58:50    

Ben un truc genre "application.TargetPath = "c:\Program Files\test\application.exe" argument", ça va jaaamaiiis fonctionner :heink:  
 
C'est une grave erreur de syntaxe d'ailleurs, on peut pas mettre un variable qui traînouille comme ça au milieu de tout le monde. La vraie syntaxe est la suivante :

application.TargetPath = "c:\Program Files\test\application.exe " & argument


Note l'espace entre "application.exe" et le guillement, ainsi que le "&" de concaténation ;)


Message édité par FlorentG le 02-02-2005 à 13:59:16
Reply

Marsh Posté le 02-02-2005 à 14:12:03    

FlorentG a écrit :

Ben un truc genre "application.TargetPath = "c:\Program Files\test\application.exe" argument", ça va jaaamaiiis fonctionner :heink:  
 
C'est une grave erreur de syntaxe d'ailleurs, on peut pas mettre un variable qui traînouille comme ça au milieu de tout le monde. La vraie syntaxe est la suivante :

application.TargetPath = "c:\Program Files\test\application.exe " & argument


Note l'espace entre "application.exe" et le guillement, ainsi que le "&" de concaténation ;)


 
En faite l'argument n'est pas une variable défini ... c'est un argument défini manuellement dans le script  
 
Sorry je débute en VBS je n'ai qu'une experience en PHP :-(
 
Merçi pour tes réponses  
 
Bien à toi
JuVeNaL

Reply

Marsh Posté le 03-02-2005 à 01:19:31    

moi ce que j'en dis , c'est dans le target , l'executable doit etre entouré des " et que dans la ligne :
 

Code :
  1. application.TargetPath = "c:\Program Files\test\application.exe " & argument

 
les " definnissent juste la chaine de caracteres du chemin de l'application du raccourci a laquelle vient se concatener l'argument .
 
Moi j'ecrierais plutot
 

Code :
  1. application.TargetPath = """c:\Program Files\test\application.exe"" " & argument


 
(a tester , je debute moi aussi)

Reply

Marsh Posté le 03-02-2005 à 14:48:18    

TofClock a écrit :

moi ce que j'en dis , c'est dans le target , l'executable doit etre entouré des " et que dans la ligne :
 

Code :
  1. application.TargetPath = "c:\Program Files\test\application.exe " & argument

 
les " definnissent juste la chaine de caracteres du chemin de l'application du raccourci a laquelle vient se concatener l'argument .
 
Moi j'ecrierais plutot
 

Code :
  1. application.TargetPath = """c:\Program Files\test\application.exe"" " & argument


 
(a tester , je debute moi aussi)


 
Merçi pour ton aide  
mais cela ne marche pas tout à fait non plus  
il me met ça dans le target du racourci quand il le crée
"C:\"c:\Program Files\test\application.exe "argument"
 
et ça devrais donner ça dans le target du racourci
"c:\Program Files\test\application.exe" argument
 
Encore merçi pour votre aide
 
Bien à vous  
JuVeNaL

Reply

Marsh Posté le 03-02-2005 à 17:30:30    

quand tu ecris ton vbs comme tu as mis dans ton premier post , tu as quoi dans la target ????
 
essaye donc ca pour voir :
 

Code :
  1. application.TargetPath = "Program Files\test\application.exe""" & " " & argument


 
 

Reply

Marsh Posté le 03-02-2005 à 17:34:57    

TofClock a écrit :

quand tu ecris ton vbs comme tu as mis dans ton premier post , tu as quoi dans la target ????
 
essaye donc ca pour voir :
 

Code :
  1. application.TargetPath = "Program Files\test\application.exe""" & " " & argument



 
En faite mon bute c'est d'avoir ça dans le target du racourci
"c:\program files\test\application.exe" argument
 
ce que j'ai avec la modification que tu m'as donner c'est  
"c:\program files\test\application.exe" argument"
 
il y a le " a la fin de trop ...
 
Bien à toi
JuVeNaL

Reply

Marsh Posté le 03-02-2005 à 18:17:20    

alors , j'ai cherché et j'ai trouvé :
 
voila ton code d'origine :

Code :
  1. Dim Shell, DesktopPath, Application
  2. Set Shell = CreateObject("WScript.Shell" )
  3. DesktopPath = Shell.SpecialFolders("Desktop" )
  4. Set application = Shell.CreateShortcut(DesktopPath & "\Thaler PRG.lnk" )
  5. application.TargetPath = "c:\Program Files\test\application.exe" argument 
  6. application.WorkingDirectory = "c:\Program Files\test\"
  7. application.Save


 
en fait , Shell.CreateShorcut prend en charge plusieurs proprietes :
- TargetPath
- WorkingDirectory
- Save
 
ca tu le savais ... mais ya aussi :
- IconLocation : pour l'icone que prendra le raccourci
- Description : pour le commentaire
- HotKey : pour lui affecter une touche de raccourci
 
et enfin , celle qui nous interresse :
- Arguments : pour donner un argument au raccourci
 
donc ton code doit devenir :
 

Code :
  1. Dim Shell, DesktopPath, Application
  2. Set Shell = CreateObject("WScript.Shell" )
  3. DesktopPath = Shell.SpecialFolders("Desktop" )
  4. Set application = Shell.CreateShortcut(DesktopPath & "\Thaler PRG.lnk" )
  5. application.TargetPath = "c:\Program Files\test\application.exe"
  6. application.Arguments = argument
  7. application.WorkingDirectory = "c:\Program Files\test\"
  8. application.Save


 
Et ca marche :)

Reply

Marsh Posté le 03-02-2005 à 18:17:20   

Reply

Marsh Posté le 04-02-2005 à 08:16:55    

TofClock a écrit :

alors , j'ai cherché et j'ai trouvé :
 
voila ton code d'origine :

Code :
  1. Dim Shell, DesktopPath, Application
  2. Set Shell = CreateObject("WScript.Shell" )
  3. DesktopPath = Shell.SpecialFolders("Desktop" )
  4. Set application = Shell.CreateShortcut(DesktopPath & "\Thaler PRG.lnk" )
  5. application.TargetPath = "c:\Program Files\test\application.exe" argument 
  6. application.WorkingDirectory = "c:\Program Files\test\"
  7. application.Save


 
en fait , Shell.CreateShorcut prend en charge plusieurs proprietes :
- TargetPath
- WorkingDirectory
- Save
 
ca tu le savais ... mais ya aussi :
- IconLocation : pour l'icone que prendra le raccourci
- Description : pour le commentaire
- HotKey : pour lui affecter une touche de raccourci
 
et enfin , celle qui nous interresse :
- Arguments : pour donner un argument au raccourci
 
donc ton code doit devenir :
 

Code :
  1. Dim Shell, DesktopPath, Application
  2. Set Shell = CreateObject("WScript.Shell" )
  3. DesktopPath = Shell.SpecialFolders("Desktop" )
  4. Set application = Shell.CreateShortcut(DesktopPath & "\Thaler PRG.lnk" )
  5. application.TargetPath = "c:\Program Files\test\application.exe"
  6. application.Arguments = argument
  7. application.WorkingDirectory = "c:\Program Files\test\"
  8. application.Save


 
Et ca marche :)


 
 
Je te remercie grandement l'ami ,
connais tu un bon tuto sur le VBS ?  
histoire que je me documente un peut plus ?  
 
car j'ai chercher mais je trouve que du VB mais pas de VBS  
 
Bien à toi
JuVeNaL
et encore merci  

Reply

Marsh Posté le 04-02-2005 à 08:18:41    

MSDN.... La référence ;)

Reply

Marsh Posté le 04-02-2005 à 08:57:37    

oui puis le vbs reprend les fonctions du vb a peu de choses pres ...
 
sur vbfrance.com , il y a des tonnes de sources qui permettent de comprendre l'utilisation de beaucoup de commandes :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed