在使用 时,开关似乎--directory
与 一起使用时无效。例如:--action=runas
cygstart
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
是的,不幸的是,除了进入目标文件夹之外没有其他办法。