Я хотел бы написать сценарий batch/cmd для передачи аргументов другой программе командной строки.

Однако я хотел бы отобразить вывод этой программы в командном файле и иметь возможность нормально взаимодействовать с программой.

По сути, командный файл становится прозрачным способом доступа к программе.

Как мне это сделать?

1 ответ1

1

Я не мог понять вопрос очень четко, но call - это команда, которая приходит мне в голову. Это внутренняя команда, являющаяся функцией cmd.exe поскольку внешние команды существуют в виде отдельных исполняемых файлов, обычно в %SystemRoot%\System32 .

Команда call выполняет другие командные файлы (с расширением .bat ) в вызывающем скрипте и может передавать аргументы этому внешнему исполняемому файлу, назначенному для его параметров.

Кроме того, команда call может call label (определяемую как :MyLabel внутри пакетного файла, иным образом предназначенную для работы с командой GOTO качестве точек или секций в пакетном файле, на которую нужно переключить выполнение, что является старым и может также быть неправильным особенность) внутри самого скрипта без ссылки на какой-либо внешний командный файл.

Команда хорошо документирована на странице SS64, и ее основное отличие от простого вызова другого скрипта или исполняемого файла без использования какой-либо команды, скажем, как MyScript.bat или MyExecutable.exe состоит в том, что она не покидает и не завершает текущий скрипт при вызове или после завершения внешнего скрипта, сохраняя его в текущем сеансе, возвращается и продолжает выполнение следующих строк вызывающего скрипта, откуда происходит вызов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .