Хост скрипта не обрабатывает параметры командной строки скрипта

Имея файл vbscript, у меня есть 3 способа запустить его из командной строки:

c:> cscript test.vbs
c:> wscript test.vbs
c:> test.vbs

WScript.Arguments.Unnamed.Count & WScript.Arguments.Named.Count (количество параметров, передаваемых в сценарий) всегда корректны, когда я указываю, какой механизм сценария использовать (первые 2), но всегда равны 0, когда я не т (последний).

Конечная цель состоит в том, чтобы 1 сценарий запустил 2-й сценарий с параметрами, но поскольку я не указываю механизм сценариев (и не хочу), это означает, что 2-й сценарий никогда не получает параметры, которые отправляет 1-й сценарий.

(Я не хочу указывать хост скрипта, так как это заставляет меня также указывать путь к скрипту, и в конечном итоге его будут использовать разные люди, которым нельзя доверять, чтобы они всегда помещали скрипты в одно и то же разместить на каждой машине. Поэтому я просто хочу иметь возможность запустить скрипт и заставить ОС выбирать исполняемый файл на основе расширения файла)

В качестве хоста сценария по умолчанию задан cscript, но при использовании последнего метода для запуска сценария Wscript.FullName сообщает о wscript.exe, чего я просто не понимаю...?

[РЕДАКТИРОВАТЬ] Обновлено, чтобы добавить разъяснения по вопросу, касающемуся запуска сценария без указания полного пути. Это не работает для меня, и я не уверен, что ожидаю этого?

c:\test> type test.vbs
wscript.echo wscript.fullname

c:\test>cd\

c:\>set path=c:\test;%path%

c:\>cscript.exe test.vbs
Input Error: Can not find script file "test.vbs"

0 ответов

Другие вопросы по тегам