6

Пустое строковое значение "NoWorkingDirectory" часто используется в реестре Windows, когда создаются определенные пользователем пункты меню правой кнопки мыши. Например, чтобы иметь возможность открывать PowerShell при щелчке правой кнопкой мыши по фону папки в проводнике Windows (в отличие от щелчка правой кнопкой мыши по самой папке, в этом случае "NoWorkingDirectory" не используется):

[HKEY_CLASSES_ROOT\Directory\Background\shell\powershell]
@="Open PowerShell Here"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\powershell\command]
@="C:\\\\Windows\\\\System32\\\\WindowsPowerShell\\\\v1.0\\\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%V'"

Тем не менее, я не ясно, о реальной цели этой стоимости. Он всегда используется пустым во всех найденных образцах. Что именно это означает?

1 ответ1

7

WorkingDirectory является собственностью Системы.Диагностика.ProcessStartInfo, когда вы щелкаете правой кнопкой мыши, вы запускаете новый процесс, и этот параметр позволяет запускать процесс без превращения текущего каталога в "Рабочий каталог". Затем по умолчанию используется System32 для запускаемой команды.

Таким образом, вы бы использовали "NoWorkingDirectory", когда вы не хотите, чтобы местоположение щелкнуло правой кнопкой мыши, чтобы стать частью окружающего пути на время выполнения сценария. Бесполезная настройка в 90% случаев, если только у вас нет похожих именованных файлов в нескольких местах, которые могут застрять, если не указано "NoWorkingDirectory".

Смотрите подробности здесь.

http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.workingdirectory%28v=vs.110%29.aspx

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