[JScript / VBScript] WScript.Arguments uitlezen?

Pagina: 1
Acties:

  • MrBucket
  • Registratie: Juli 2003
  • Laatst online: 29-10-2022
Ik wil in een klein scriptje, wat door de Windows Scripting Host moet worden uitgevoerd, o.a. ook de command-line parameters uitlezen.

Nu weet ik dat er twee script-hosts bestaan, een voor scripts die een console nodig hebben (cscript.exe) en een voor scripts die gebruik maken van messageboxes (wscript.exe). Ik wil console in- en uitvoer, dus ik gebruik cscript.exe.

Nu heb ik het volgende script:
code:
1
2
3
4
5
WScript.Echo("Have " + WScript.Arguments.length + " args");
for(x = 0; x < WScript.Arguments.length; x++){
    if(WScript.Arguments[x] != null)
        WScript.Echo("-- " + WScript.Arguments[x]);
}
...wat ik uitvoer met "cscript myscript.js bladibla.txt" (waarbij bladibla.txt dus een command-line parameter is). Het rare is dat hij wel aangeeft dat er 1 command-line argument is, maar WScript.Arguments[0] bevat null...?

Wie kan me vertellen hoe ik de command-line arguments te pakken krijg?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 11-03 14:33

NMe

Quia Ego Sic Dico.

JScript en VBScript die gebruikt worden voor scripting binnen Windows zelf horen in Windows Operating Systems. :)

PW>>WOS

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

code:
1
2
3
4
5
WScript.Echo("Have " + WScript.Arguments.length + " args");
for(x = 0; x < WScript.Arguments.length; x++){
    if(WScript.Arguments(x) != null)
        WScript.Echo("-- " + WScript.Arguments(x));
}

zie ook: msdn (eerste hit op google)

Today's subliminal thought is:


  • MrBucket
  • Registratie: Juli 2003
  • Laatst online: 29-10-2022
zie ook: msdn (eerste hit op google)
Grr... Ik heb die pagina al wel 10 keer voorbij zien komen, en het is me nooit opgevallen dat het niet om array-blokhaken ging, maar om ronde haken... 8)7

Ik mis alleen de precieze syntax hier. Normaalgesproken worden arrays in JScript wel met blokhaken geindexeerd. Dit is geen array, maar een apart object. Maar waar komen die ronde haken dan vandaan, is dat dan een naamloze methode, ofzo?

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Arguments zal wel een Collection zijn, ipv een Array. Iets als onderstaande zal dus ook wel werken (niet getest).

code:
1
WScript.Echo( WScript.Arguments.Item(0) );

Today's subliminal thought is: