2017-10-11 2 views
0

J'ai déjà du code déjà écrit comme cscript // Nologo "% FILEPATH% \ GetSys.vbs">% PCKANRI% \ sysinf.txt.Passer l'argument à VBScript à partir du fichier .bat

Comment ajouter un argument à cela et passer à GetSys.vbs. Je veux passer la valeur de %PCKANRI%.

J'ai essayé -

cscript //Nologo "%FILEPATH%\GetSys.vbs" >%PCKANRI%\sysinf.txt %PCKANRI% 

et

cscript //Nologo "%FILEPATH%\GetSys.vbs" %PCKANRI% >%PCKANRI%\sysinf.txt 

Cependant, les deux ne fonctionnent pas.

dans GetSys.vbs Je

Dim arg1 
arg1 = args.Item(0) 
MsgBox arg1 

Je reçois un message vide nox.

Répondre

1

Vous devez initialiser args et traiter les arguments:

type getsys.vbs 
Dim args : Set args = WScript.Arguments 
Dim arg1 
If 1 <= args.Count Then 
    arg1 = args(0) 
Else 
    arg1 = "No arguments!" 
End If 
WScript.Echo arg1 

cscript getsys.vbs 
No arguments! 

cscript getsys.vbs argument 
argument 

Et:

Apposer l'argument supplémentaire après la spécification de fichier (... >%PCKANRI%\sysinf.txt %PCKANRI%) est erroné

Désolé, mon erreur . Mettre l'argument à la fin «fonctionne». Preuve:

cscript getsys.vbs argument > getsys.txt 

type getsys.txt 
argument 

cscript getsys.vbs > getsys.txt option 

type getsys.txt 
option 
+0

Merci. Ça a marché! –