使用 --action=runas 时,cygstart --directory 开关将被忽略

使用 --action=runas 时,cygstart --directory 开关将被忽略

在使用 时,开关似乎--directory与 一起使用时无效。例如:--action=runascygstart

cygstart --action=runas --directory=`cygpath -wa $PWD` cmd.exe /k dir

预期输出是运行命令的 cygwin shell 的工作目录的内容。相反,它输出的是 的内容C:\Windows\system32,这是管理命令提示符的默认起始路径,完全忽略了--directory开关。相反,省略--action=runas开关会给出预期的输出,但显然不会提升权限。

以下是一个有效的解决方法:

cygstart --action=runas cmd.exe /k "cd /d $(cygpath -wa $PWD) & dir"

它可以工作,但如果开关按预期工作就更好了--directory。有人对此有什么见解吗?这是 的一个错误cygstart,还是 UAC/Windows 的工作方式的一个错误?

答案1

显然,这不是一个错误 - 这是预期行为。cygwin 维护者本身也希望您能够完全按照解决方法中的做法去做。

对我来说,这确实感觉像是一个 bug。毕竟,这是我几乎不关心的情况之一如何只要他们履行承诺,事情就完成了。但--directory在这种情况下,没有任何警告或其他什么的,这根本行不通。(我真的不忍心在邮件列表中捍卫这个观点。)

cd是的,不幸的是,除了进入目标文件夹之外没有其他办法。

相关内容