Cygwin shell 正在覆盖我的 Windows shell

Cygwin shell 正在覆盖我的 Windows shell

我不知道我做了什么,但是我以某种方式安装了 Cygwin,即使我尝试运行普通的 Windows shell,Cygwin 也会干扰。我有一些批处理脚本,我想以 Cygwin 抱怨的默认 Windows 方式运行它们。我无法更改它们;我需要在 felaut shell 中运行它们。有没有办法在不完全卸载 cygwin 的情况下恢复我的 cmd shell?

更多信息:

我正在运行一个启动 Windows 可执行文件的 Windows 批处理脚本。我无法更改脚本或可执行文件。这些都是其他人使用的东西,所以它们必须保持原样。当我运行脚本时,它会搜索并自动生成一些路径以传递给可执行文件(或者可执行文件可能自己生成它们)。不幸的是,在该过程进行到一半时,exe 抱怨它找不到 D:\foo\bar\baz... 因为 cygwin 试图“修复”该路径。

如果我在运行批处理文件时删除 cygwin1.dll,则会收到错误消息,提示未找到 cygwin。因此,即使我在 Windows CMD shell 中(带有 Windows 提示符),我显然仍会受到 cygwin 的干扰。

我已将 cygwin 从路径中全部删除,现在脚本可以正常工作了。要运行 cygwin,我现在必须明确导航到 cygwin 目录,运行 bash,并确保 bash 修改路径以包含 cygwin/bin 目录。

我主要想要一种在默认 Windows 环境中使用默认 Windows 路径运行脚本的方法,因为我无法 100% 控制需要作为日常工作一部分运行的脚本和可执行文件,而且对于我来说,去重写每个不能与 cygwin 很好地兼容的脚本是非常低效的。

(值得注意的是,使用 Win-R 运行框中的“cmd /c script.bat”运行脚本就可以了。)

答案1

您仍应可以访问标准 Windows Shell。但如果不行,请尝试使用 运行脚本cmd,例如:

cmd /c foo.bat

即使在 cygwin shell 中这也应该有效。

相关内容