ozisej Ответов: 1

Звоню CMD.EXE это "компакт-диск", и я остаюсь там...


Привет,

Есть ли способ сделать обратный звонок к оригиналу CMD.EXE это породило мою программу?

В принципе, я пытаюсь написать консольное приложение, которое выполняет кучу работы, чтобы вернуть значение, и по пути оно может изменить каталог и/или диск. Что я хотел бы, так это когда он выйдет, оставить приглашение в том же каталоге drive:/, в котором программа оказалась последней.

Как и ожидалось, программа в основном получает свою собственную среду, когда она запускается, и когда управление передается обратно CMD.EXE, приглашение находится в той же папке, откуда оно было запущено. Это для меня на самом деле полностью ожидаемое поведение. То, что я ищу, - это способ преодолеть это.

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

Возможно, что это фантазии команды cd/перейти.

Если кто-нибудь укажет мне верное направление, я буду очень признателен.

В настоящее время у меня есть код, написанный на C++, но в конце концов я с удовольствием перепишу его на C, C#, Rust или, как минимум, Go.

Спасибо!

Джейсон.

Что я уже пробовал:

C++ и несколько различных библиотек, C$

1 Ответов

Рейтинг:
2

#realJSOP

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


ozisej

Спасибо за ваше время, но проблема в другом... Мой код перемещается по каталогам, когда он делает свое дело, но когда он выходит, cmd.exe он все еще находится в том же каталоге, в котором была запущена программа, а не в том каталоге, в котором она находилась в последний раз.