Я занимаюсь написанием своего рода командной строки-оболочки в качестве учебного упражнения. В основном пользователь вводит команду в окне консоли, а команда выполняется через cmd.exe.Выполнение постоянных команд командной строки
«Run Command Prompt Commands» обрабатывает выполнение команд с помощью cmd.exe, а «Process.start: how to get the output?» выполняет поиск результата.
Есть одна проблема, с которой мне еще предстоит обратиться. Этот метод выполнения команд через cmd.exe заставляет процесс запускать, делать все, что он должен делать, а затем завершать. Поэтому, если я делаю что-то вроде cd..
, ожидаемое изменение состояния не сохраняется между последующими командами, и вы увидите, что вы остаетесь в том же рабочем каталоге.
Возможно ли выполнение команд оболочки при сохранении постоянного сеанса cmd.exe?
Я думаю, что ваше замешательство происходит из-за того, что есть внешние команды, которые smd.exe может запускать, но есть и внутренние команды, которые cmd.exe интерпретирует, не передавая их в Windows. Такие команды, как 'cd' и' set'. Вы должны обрабатывать их внутренне. – itsme86
@ itsme86 Да, точно - как это делается? – Gigi
Ссылка @ Ответ MartinLiversage. – itsme86