Это крутая утилита.
Я установил записи реестра для эксперимента, и теперь, когда он работает, я, вероятно, сохраню его.
В моих экспериментах окно закрывалось немедленно, даже до того, как оно вызывало диалог UAC, пока я не заключил внешнюю команду в двойные кавычки, а внутренние параметры в одинарные кавычки. Тогда он работал нормально для всех папок, кроме тех, которые находятся в папке Program Files. Для этого нам нужно заключить% v в одинарные кавычки и дважды убрать двойные кавычки:
@="powershell.exe -command \"start-process powershell.exe -ArgumentList \\\"-NoLogo -NoExit -Command Set-Location '%v'\\\" -verb RunAs\""
Я использовал% v - имя папки контекста, которое выглядело как ваше первоначальное намерение, основанное на метке меню «Open Powershell (admin) здесь»).
Примечания по отладке:
- Для экспериментов немного проще внести изменения в Regedit.exe и позволить функции экспорта добавлять экранирующие символы при необходимости
- В Windows 10 вы можете вносить изменения непосредственно в Regedit.exe, и контекстное меню / действие немедленно обновляется, что я подтвердил, добавив метку времени к метке меню
- В других версиях Windows может потребоваться остановить и перезапустить explorer.exe