Принудительно использовать файл bat, отличный от cmd.exe - PullRequest
3 голосов
/ 27 октября 2011

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

Я должен запустить скрипт vb из командного файла

@call ..\Database\scripts\runscriptupdates.vbs

Однако скрипт будет запускаться только при использовании командной строки из

C:\Windows\SysWOW64\cmd.exe

По умолчанию файл bat использует cmd.exe в system32

C:\Windows\System32\cmd.exe

Есть ли способ заставить командный файл использовать этот cmd.exe для запуска файла VBS? Я бродил по сети около часа и не нашел ничего, что могло бы помочь (пока).

Я попытался запустить syswow64 с помощью «start ...», однако, похоже, после него аргументы не принимаются.

Большое спасибо, Нил

Ответы [ 3 ]

3 голосов
/ 27 октября 2011

Вы можете попробовать:

%windir%\SysWoW64\cmd.exe /c mybatch.bat

Это запустит сам пакет из 32-битной командной строки.Таким образом, вызов вашего VBS также будет поступать из 32-разрядной командной строки.

1 голос
/ 23 февраля 2013

У меня тоже была эта проблема, и я нашел способ ее решить.
Вам просто нужно изменить System Variables.

Перейти к Панель управления » Система » Расширенные настройки системы » Переменные среды .

Найдите переменную ComSpec, затем просто нажмите Изменить ... и измените путь на "C:\Windows\SysWow64\cmd.exe"

0 голосов
/ 05 июня 2013

Попробуйте ввести эту строку в командном файле.

% windir% \ SysWoW64 \ cmd.exe / c ["] cscript [ имя сценария ] [ параметры хоста] [ аргументы скрипта ] ["]

Где:

  • имя скрипта - это имя файла скрипта, включая файлрасширение имени и любая необходимая информация о пути.

  • параметры хоста - это параметры командной строки, которые включают или отключают различные функции Windows Script Host.Опциям хоста всегда предшествуют две косые черты (//).

  • Аргументы сценария - это параметры командной строки, которые передаются в сценарий.Аргументам скрипта всегда предшествует одна косая черта (/).

Пример:

% windir% \ SysWoW64 \ cmd.exe / c "cscript VoltageDrop.vbs /"Campbell.sin "" L08 ""

Примечание. В этой строке я не пропускаю никаких опций хоста.Эта команда выполнит строку,

cscript VoltageDrop.vbs /"Campbell.sin "" L08 "

как команду в 32-разрядной командной строке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...