Как запустить VBScript из командной строки без Cscript / Wscript

Как запустить VBScript из командной строки без Cscript / Wscript
На чтение
10 мин.
Просмотров
18
Дата обновления
11.11.2024

Я новичок в VBScript. Я погуглил и узнал, что мы можем запустить VBScript из командной строки, выполнив следующую команду:

Например, мое имя vbscript — Converter.vbs , и оно присутствует в папке D: VBS .

Я могу запустить его следующими способами:

  CScript "D  :  VBS  Converter.vbs " 

OR

  WScript" D:  VBS  Converter.vbs " 

Теперь я хотел бы выполнить приведенный выше VBScript без Cscript или Wscript , просто набрав имя VBscript name, например Converter.

Я НЕ ХОЧУ УКАЗАТЬ ПОЛНЫЙ ПУТЬ VBSCRIPT КАЖДЫЙ РАЗ.

Может кто-нибудь посоветовать мне, как это сделать?


Я разложу это на несколько отдельных частей, так как каждая часть может быть выполнена индивидуально. (Я вижу аналогичный ответ, но я дам более подробное объяснение здесь ..)

Первая часть , чтобы не набирать «CScript «(или» WScript «), вам необходимо указать Windows, как запустить файл сценария * .vbs. В моей Windows 8 (я не могу быть уверен, что все эти команды работают точно так, как показано здесь в более старых версиях Windows, но процесс тот же, даже если вам нужно немного изменить команды), запустите окно консоли (также известное как «командная строка», или [неправильно] «подсказка dos») и введите « assoc .vbs «. Это должно привести к ответу, например:

  C:  Windows  System32> assoc .vbs.vbs = VBSFile  

Используя это, вы затем набираете « ftype VBSFile », что должно привести к ответу:

  C:  Windows  System32> ftype  VBSFilevbsfile = "% SystemRoot%  System32  WScript.exe" "% 1"% *  

-OR-

  C  :  Windows  System32> ftype VBSFilevbsfile = "% SystemRoot%  System32  CScript.exe" "% 1"% *  

Если эти два уже определены, как указано выше, ваша Windows ‘уже настроен, чтобы знать, как запустить файл * .vbs. (BTW, WScript и CScript — это одна и та же программа, но с разными именами. WScript запускает скрипт, как если бы это была программа с графическим интерфейсом пользователя, а CScript запускает его, как если бы это была программа командной строки. См. Другие сайты и/или документацию для этих деталей. и предостережения.)

Если какая-либо из команд не ответила, как указано выше (или аналогичные ответы, если тип файла, сообщенный ассоциацией, и/или команда, выполненная, как сообщается ftype, имеют разные имена или местоположения ), вы можете ввести их самостоятельно:

  C:  Windows  System32> assoc .vbs = VBSFile  

-and/ или —

  C:  Windows  System32> ftype vbsfile = "% SystemRoot%  System32  WScript. exe ""% 1 "% *  

Вы также можете ввести» help assoc «или» help ftype «для получения дополнительной информации об этих командах, которые часто удобны, когда вы хотите автоматически запускать определенные программы, просто вводя имя файла с определенным расширением. (Однако будьте осторожны, поскольку некоторые расширения файлов специально настроены Windows или программами, которые вы можете установлены, чтобы они работали правильно. Всегда проверяйте текущие присвоенные значения, указанные в assoc/ftype, и сохраняйте их где-нибудь в текстовом файле на случай, если вам придется их восстановить.)

Второй часть , избегая ввода расширения файла при вводе команды из окна консоли. Понимание того, как Windows (и программа CMD.EXE) находит команды, которые вы вводите, полезно для этой (и следующей) части. команду, давайте использовать «querty» в качестве примера команды, система сначала попытается найти команду во внутреннем списке команд (через настройки в реестре Windows для самой системы f, или запрограммированный в случае CMD.EXE). Поскольку такой команды нет, он попытается найти команду в текущей переменной среды% PATH%. В более старых версиях DOS/Windows CMD.EXE (и/или COMMAND.COM) автоматически добавлял расширения файлов «.bat», «.exe», «.com» и, возможно, «.cmd» к имени команды, которое вы введено, если вы явно не ввели расширение (например, «querty.bat», чтобы не запустить «querty.exe» по ошибке). В более современной Windows он попробует расширения, перечисленные в переменной среды% PATHEXT%. Итак, все, что вам нужно сделать, это добавить .vbs в% PATHEXT%. Например, вот мой% PATHEXT%:

  C:  Windows  System32> set pathextPATHEXT = .PLX; .PLW; .PL; .BAT; .CMD; .VBS  ; .COM; .EXE; .VBE; .JS; .JSE; .WSF; .WSH; .MSC; .PY  

Обратите внимание, что расширения ДОЛЖНЫ включать «.» , разделены знаком «;», и что .VBS указан ПОСЛЕ .CMD, но ПЕРЕД .COM. Это означает, что если командный процессор (CMD.EXE) находит более одного совпадения, он будет использовать первое из перечисленных. То есть, если у меня есть query.cmd, querty.vbs и querty.com, он будет использовать querty.cmd.

Теперь, если вы хотите делать это все время, не сохраняя установив% PATHEXT%, вам придется изменить системную среду. Ввод его в окне консоли изменяет его только для этого сеанса окна консоли. Я оставлю этот процесс в качестве упражнения для читателя.

0 Комментариев
Комментариев на модерации: 0
Оставьте комментарий