Как в vbs файле запустить программу

Создал обширную программу пакетного сценария для автоматического управления файлами и печати, и мне нужно вызвать файл vbs для его операции sendkeys. Есть ли способ сделать это, не замораживая программу?

Я пытался START /WAIT my.vbs и скрипт зависает при входе в .vbs

У кого-нибудь есть другие методы или переключатели, которые вы бы порекомендовали?

Я хотел бы, чтобы он работал бесшумно, если это вообще возможно, и мне нужно /WAIT переключиться, потому что мне нужно sendkeys операцию, которую необходимо завершить до следующего шага в пакетном файле.

задан 02 июн ’11, 11:06

Вы «будете пытаться»? Сначала попробуйте и сообщите, что получилось. Бесполезно пытаться решить проблему, которая уже решена. — Cody Gray♦

«сценарий зависает, когда он входит в .vbs». Плюс «мне нужен переключатель / WAIT, потому что мне нужно, чтобы операция sendkeys завершилась до следующего шага в пакетном файле». Итак, вам нужно завершить vbs до следующей операции , но вы не хотите, чтобы ваш скрипт зависал. Пожалуйста, уточните, что вы хотите, чтобы пакетный скрипт делал, пока он «ждет», пока ключи отправки выполнят свою работу? Если вы это объясните, то, возможно, там будет ответ на ваш вопрос. На самом деле, если вы объясните это, то, вероятно, is ответ на ваш вопрос 🙂 Микки Финн — user781416

Крутые файлы BAT и VBS

Это сценарий, который запускается каждую ночь, и я не могу протестировать его должным образом, чтобы он не влиял на работу в течение дня. Таким образом, почему я только спрашиваю: «У кого-нибудь есть другие методы или переключатели, которые вы бы порекомендовали?» — Anthony Miller

Источник: stackovergo.com

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

Я новичок в VBScript. Я искал ее и узнал, что мы можем запустить VBScript из командной строки, выполнив следующую команду:
Например, мое имя vbscript Converter.vbs и присутствует в папке D:VBS .
Я могу запустить его с помощью следующих методов:

CScript «D:VBSConverter.vbs»
WScript «D:VBSConverter.vbs»

Теперь я хотел бы выполнить выше VBScript без команды Cscript или Wscript , просто набрав имя VBscript name i.e. Converter.
Я НЕ ХОЧУ УКАЗАТЬ ПОЛНУЮ ПУТЬ ВЕБРИТИНА.
Может ли кто-нибудь направить меня на то, как это сделать?

спросил(а) 2014-04-15T07:01:00+04:00 9 лет, 2 месяца назад
добавить комментарий
пожаловаться

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

Читайте также:
Как подобрать обои программа

интересные vbs скрипты

C:WindowsSystem32>assoc .vbs
.vbs=VBSFile

Используя это, вы затем набираете «ftype VBSFile», что должно приводить к ответу:
C:WindowsSystem32>ftype VBSFile
vbsfile=»%SystemRoot%System32WScript.exe» «%1» %*
C:WindowsSystem32>ftype VBSFile
vbsfile=»%SystemRoot%System32CScript.exe» «%1» %*

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

C:WindowsSystem32>assoc .vbs=VBSFile
C:WindowsSystem32>ftype vbsfile=»%SystemRoot%System32WScript.exe» «%1» %*

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

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

C:WindowsSystem32>set pathext
PATHEXT=.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%, вам придется изменить системную среду. Ввод его в окне консоли только изменяет его для сеанса окна консоли. Я оставлю этот процесс упражнением для читателя.:-P
Третья часть, чтобы запустить script, не набирая полный путь. Эта часть, относящаяся ко второй части, существует со времен DOS. Просто убедитесь, что файл находится в одном из каталогов (папки, для вас, люди Windows!), Перечисленные в переменной среды% PATH%.

Читайте также:
Из каких частей состоит программа конкурсов абилимпикс

Мое предложение состоит в том, чтобы сделать ваш собственный каталог для хранения различных файлов и программ, которые вы создаете или часто используете из окна консоли/командной строки (то есть не беспокойтесь об этом для программ, которые вы запускаете из стартовое меню или любой другой метод.. только консольное окно. Не связывайтесь с программами, которые установлены Windows или автоматическим установщиком, если вы не знаете, что делаете). Лично я всегда создаю каталог «C:sysbat» для пакетных файлов, каталог «C:sysbin» для файлов *.exe и *.com(например, если вы загружаете что-то вроде «md5sum», утилита контрольной суммы MD5), каталог «C:syswsh» для VBScripts (и JScripts с именем «wsh», поскольку оба выполняются с помощью «Windows Scripting Host» или «wsh» ), и скоро. Затем я добавляю их в свою переменную% PATH% (панель управления → расширенные параметры системы → вкладка «Дополнительно» → «переменные среды» ), поэтому Windows всегда может найти их при вводе их.
Объединение всех трех частей приведет к настройке вашей системы Windows, чтобы везде, где вы можете ввести команду командной строки, вы можете запустить свой VBScript, просто набрав его имя базового файла. Вы можете сделать то же самое для любого типа файла/расширения; Как вы, вероятно, видели в моем% PATHEXT%, моя система настроена на запуск сценариев Perl (.PLX;.PLW;.PL) и Python (.PY). (Я также поставил «C:sysbat; C:sysscripts; C:syswsh; C:sysbin» в начале моего% PATH% и поместил различные командные файлы, script файлы и т.д. в этих каталогах, поэтому Windows всегда может их найти. Это также удобно, если вы хотите «переопределить» некоторые команды: сначала поместить файлы *.bat в путь, чтобы система находила их перед *. exe, например, и тогда файл *.bat может запустить реальную программу, предоставив полный путь к фактическому файлу *.exe. Узнайте о различных сайтах в «программировании пакетных файлов» для получения подробной информации и других примеров мощности командной строки.. Это еще не мертво!)
Последнее замечание:. Проверьте некоторые из других сайтов для различных предупреждений и предостережений. Этот вопрос поставил script с именем «converter.vbs», который опасно близок к команде «convert.exe», которая представляет собой программу Windows для преобразования вашего жесткого диска из файловой системы FAT в файловую систему NTFS. которые могут сжать ваш жесткий диск, если вы допустили ошибку ввода текста.
С другой стороны, используя вышеупомянутые методы, вы также можете изолировать себя от таких ошибок. В качестве примера можно использовать CONVERT.EXE. Переименуйте его в нечто вроде «REAL_CONVERT.EXE», затем создайте файл типа «C:sysbatconvert.bat», который содержит:

Читайте также:
Узнать свою программу дмс

Источник: progi.pro

Как запустить .vbs из .bat

Создал обширную программу пакетного сценария для обработки некоторого автоматического управления файлами и печати, и мне нужно вызвать файл vbs для его операции sendkeys. Есть ли способ сделать это без зависания программы?

Я пробовал START /WAIT my.vbs , и скрипт зависает при входе в .vbs

У кого-нибудь есть другие методы или переключатели, которые вы бы порекомендовали?

Я хотел бы, чтобы он работал беззвучно, если это вообще возможно, и мне нужен переключатель /WAIT , потому что мне нужно, чтобы операция sendkeys завершилась до следующего шага в пакетном файле.

Anthony Miller 2 Июн 2011 в 18:59

Вы «будете пытаться»? Сначала попробуйте и сообщите, что получилось. Бесполезно пытаться решить проблему, которая уже решена.

2 Июн 2011 в 19:00

«сценарий зависает, когда он входит в .vbs». Плюс «мне нужен переключатель / WAIT, потому что мне нужно, чтобы операция sendkeys завершилась до следующего шага в пакетном файле». Итак, вам нужно завершить vbs до следующей операции , но вы не хотите, чтобы ваш скрипт зависал. Пожалуйста, уточните, что вы хотите, чтобы пакетный скрипт делал, пока он «ждет», пока ключи отправки выполнят свою работу? Если вы это объясните, то, возможно, там будет ответ на ваш вопрос. На самом деле, если вы это объясните, то, вероятно, это и есть ответ на ваш вопрос 🙂 Микки Финн

user781416
2 Июн 2011 в 19:37

Это сценарий, который запускается каждую ночь, и я не могу протестировать его должным образом, чтобы он не влиял на работу в течение дня. Таким образом, почему я только спрашиваю: «У кого-нибудь есть другие методы или переключатели, которые вы бы порекомендовали?»

Anthony Miller
2 Июн 2011 в 19:56
Anthony Miller
2 Июн 2011 в 19:56

4 ответа

Лучший ответ

Вместо использования START /WAIT my.vbs вы можете попробовать использовать cscript //NoLogo //B my.vbs . Вы также можете передать другие параметры в cscript таким образом.

wimh 3 Июн 2011 в 02:28

Думаю, это поможет. Я почти никогда не использую cscript/wscript, поэтому совершенно забыл об этом. Я проверю это. Я настроил небольшую тестовую область на своей локальной машине и буду экспериментировать.

Источник: question-it.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru