Текущий каталог процесса равен его рабочему каталогу? - PullRequest
1 голос
/ 12 февраля 2012

Текущий каталог совпадает с рабочим каталогом?

при запуске программы из папок поиска PATH первая папка станет ее текущей папкой?

Ответы [ 3 ]

1 голос
/ 12 февраля 2012

Сортировка.

Существует один рабочий каталог, который представляет собой полный путь (включая букву диска).

Но для каждого диска есть «текущий каталог», который влияет на диск.относительные пути (в форме D:name без обратной косой черты в соответствии со спецификацией привода).IIRC, они хранятся в таблице переменных среды.

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

PATH поиск не влияет на текущий каталог или рабочий каталог.Они наследуются от родителя, если явно не указано при запуске нового процесса.

См. Также этот связанный вопрос .

0 голосов
/ 12 февраля 2012

«Текущий каталог» - это свойство активного процесса.

AFAIK, «Текущий каталог», «Текущий рабочий каталог» и «Рабочий каталог» - все это синонимы для одной и той же вещи.Они определенно находятся в Linux, Java (и, возможно, .Net) земле.В Windows, однако, процесс может иметь разные «рабочие каталоги» для каждого диска:

«Начальный каталог» программы обычно является одним из:

  • каталога, в котором вы его запускаете (изкомандной строки),

  • каталог, в котором находится .exe (если дважды щелкнуть по нему из проводника Windows), или

  • каталог, указанный ссылкой на рабочем столе (если дважды щелкнуть ярлык Windows)

Другими словами, «Начальный каталог» и «каталог, в котором находится исполняемый файл», могут бытьто же самое или другое.

  • «Начальный каталог» запущенного процесса не имеет прямого отношения к «Путь».

Путь помогает ОС найти .exe (для его загрузки и запуска), но он не используется для назначения "Начального каталога"".

'Надеюсь, это поможет

0 голосов
/ 12 февраля 2012

"Текущий каталог отличается от исходного каталога, из которого был запущен процесс." ... как указано здесь

Кстати, что касается названия вашего вопроса, там нет текущего или рабочего каталога, есть нечто, называемое «текущим рабочим каталогом» (опять же, по ссылке выше).

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

(мои ссылки связаны с .net, что может быть не вашей технологией выбора).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...