Как запустить.bat файл с параметрами в командной строке? (Импортирование переменных проекта)

Я пытаюсь обработать файл в следующем порядке, пожалуйста, укажите мне правильное направление.

  1. Переключитесь на диск D, введя: D: (успешно)
  2. Перейдите в каталог D:\IBM\InformationServer\ASBNode\bin. (Успешно)
  3. Выполните processEnvVariables.bat для нового проекта EDW, команда приведена ниже с примером формата команды. (Failure)

processEnvVariables.bat -dir D: \ IBM \ InformationServer \ Server \ Projects \ EDW –dom localhost –port 9080 -u –p

Выполняю ли я после успешного завершения шага 2 или раньше, потому что при выполнении шага 2 после шага 2 я получаю сообщение об ошибке. Каталог_проекта должен находиться в другой папке, например c:\IBM\Informationserver\server\projects\myproj.

Мне в основном нужна помощь с входом ниже.

Формат команды: processEnvVariables.bat

processEnvVariables.bat -dir D: \ IBM \ InformationServer \ Server \ Projects \ EDW –dom localhost –port 1234 -u –p

Спасибо заранее за вашу помощь.

1 ответ

Используйте этот пакетный код:

pushd "D:\IBM\InformationServer\ASBNode\bin"
call processEnvVariables.bat -dir D:\IBM\InformationServer\Server\Projects\EDW –dom localhost –port 9080 -u –p
popd

Первая команда сохраняет / помещает путь к текущему каталогу в стеке, что наиболее вероятно. C:\IBM\Informationserver\server\projects\myproj на диске C: и затем устанавливает указанный каталог D:\IBM\InformationServer\ASBNode\bin как новый текущий каталог.

Вторая команда вызывает другой командный файл, который по неизвестной причине работает с каталогом D:\IBM\InformationServer\Server\Projects\EDW и диск D: в соответствии с параметрами. У меня нет этого командного файла, и поэтому я не знаю, какова цель этого командного файла.

Здесь важно использовать команду CALL, так как в противном случае обработка текущего пакетного файла продолжается processEnvVariables.bat и третья команда в этом пакетном файле никогда не будет выполнена, так как командный процессор Windows никогда не вернется к текущему пакетному файлу при запуске другого пакетного файла без команды CALL.

Третья команда загружает / извлекает ранее сохраненный текущий путь к каталогу из стека и снова делает этот каталог текущим.

Чтобы понять используемые команды и то, как они работают, откройте окно командной строки, выполните там следующие команды и полностью прочитайте все страницы справки, отображаемые для каждой команды.

  • call /?
  • popd /?
  • pushd /?
Другие вопросы по тегам