Windows 10 尝试从“C:\Windows\System32”目录运行 Shell 脚本

Windows 10 尝试从“C:\Windows\System32”目录运行 Shell 脚本

我有一些 bash 脚本,我想通过双击来像 Windows 10 中的批处理文件一样使用它们,并让它完成工作。问题是它从 Windows 系统 ( C:\Windows\System32) 目录启动脚本(我选择 bashC:\cygwin\bin\bash.exe来运行.sh脚本,但它们不起作用。过了一会儿,我read xyz在最后添加了保持脚本活动的功能,并在进程资源管理器中检查它从 Windows 系统目录启动。这样,试图在其中创建存档的脚本将被拒绝访问)。

该目录中既没有 bash,也没有脚本。在 XP 中,它曾经运行良好。在所谓的“现代” 10 中,它却不行。如何更改它以使其从 current/script 目录中启动?

[ed] 该脚本可以很简单,位于c:\tmp

#!/bin/sh
rar a bak.rar *.txt

添加一些调试代码后:

#!/bin/sh
pwd
rar4 a bak.rar *.txt
read xyz
/cygdrive/c/WINDOWS/system32
(...)
Cannot create bak.rar
Access is denied.

pwd显然它是从 windows\system32 目录运行的,这就是整个谜团所在。

答案1

我通过将 .sh 文件与 bash 完全关联解决了这个问题。现在它可以像其他脚本(例如批处理)一样工作。这很可能是因为正如@señor-cmasmas 所说,启动应用程序的默认工作目录不仅是管理员,而且是系统和窗口来选择哪个程序实际上是一个程序"C:\Windows\System32\OpenWith.exe"

相关内容