Как запустить.bat файл с параметрами в командной строке? (Импортирование переменных проекта)
Я пытаюсь обработать файл в следующем порядке, пожалуйста, укажите мне правильное направление.
- Переключитесь на диск D, введя: D: (успешно)
- Перейдите в каталог D:\IBM\InformationServer\ASBNode\bin. (Успешно)
- Выполните 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 /?