Кажется, параметр --directory
неэффективен при использовании с --action=runas
при использовании cygstart
. Например:
cygstart --action=runas --directory=`cygpath -wa $PWD` cmd.exe /k dir
Ожидаемый вывод - это содержимое рабочего каталога оболочки cygwin, из которой была запущена команда. Вместо этого он выводит содержимое C:\Windows\system32
, начального пути по умолчанию для административной командной строки, полностью игнорируя параметр --directory
. Напротив, --action=runas
дает ожидаемый результат, но, очевидно, не с повышенными разрешениями.
Ниже приведен эффективный обходной путь:
cygstart --action=runas cmd.exe /k "cd /d $(cygpath -wa $PWD) & dir"
Это работает, но было бы неплохо, если бы ключ --directory
работал так, как задумано. У кого-нибудь есть понимание этого? Это ошибка с cygstart
, или с тем, как работает UAC/Windows?