【问题标题】:How to launch a new cmd window with the correct path from Cygwin?如何从 Cygwin 使用正确的路径启动新的 cmd 窗口?
【发布时间】:2015-09-10 03:54:19
【问题描述】:

当我从开始菜单启动 cmd.exe 时,我会在一个新窗口中获得已注册的(在注册表中)PATH 变量。

我想和我的cygwin+mintty完全一样的效果,试试下面的:

首先我尝试:

bash$  cmd

这给了我一个 cmd shell,就在 mintty 里面。但我希望它出现在一个全新的窗口中。 emm...也许我可以试试:

bash$  cmd /c start cmd

它很好地在新窗口中为我提供了一个 cmd shell。好的。但是,该命令 shell 中的 PATH 与新的不同。

C:\>path
PATH=C:\cygwin64\usr\local\bin;C:\cygwin64\bin;C:\ProgramData\Oracle\Java\javapa
th;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\W
indowsPowerShell\v1.0;C:\opencv\myrelease\bin;C:\Qt\5.3\mingw482_32\bin;C:\Progr
am Files (x86)\Skype\Phone;C:\Program Files (x86)\Windows Kits\8.1\Windows Perfo
rmance Toolkit;C:\Program Files\Microsoft SQL Server\110\Tools\Binn;C:\cygwin64\
lib\lapack;D:\home\robin_hsu\bin

C:\>

您可以看到那些带有cygwin64 的路径是不需要的。那么,我该怎么做才能使用正确的 PATH 获得一个新的全新 cmd 窗口?

注意:我认为问题是由于 PATH 是可继承的,从 bashcmd

也许有人可以给我一些提示,让我在 cygwin 的 bash 下获取 windows 系统的注册 PATH。如果可以的话,我可以先把 PATH 改成想要的,然后调用cmd

【问题讨论】:

    标签: windows shell cmd cygwin


    【解决方案1】:

    所以,这基本上是对Start new cmd.exe and NOT inherit environment? 的重复问题。然而,这个问题并没有要求打开一个新窗口,至少对我来说,那里的答案并没有给我一个正确的路径。以下命令同时提供(对我而言,在 XP 上)。

    cygstart "$WINDIR\explorer.exe" "$WINDIR\system32\cmd.exe"

    唯一的问题是它还会显示对话框“文件下载 - 安全警告”和“Windows 资源管理器 - 安全警告”。 This link 展示了一般情况下如何避免这种情况,但我不确定是否可以仅删除一个特定文件的警告。在 superuser.com 上还有几个关于禁用警告的答案 herehere

    希望这会有所帮助。

    【讨论】:

    • 问题是PATH是从cygwin的bash shell继承到cmd的。 $USERPROFILE 只是主文件夹。
    • 感谢您的澄清,我修改了答案。
    • 谢谢。这正是我想要的。在我的 Win7 中,它不会弹出任何对话框。其实explorer "$WINDIR\system32\cmd.exe"也可以,不用cygstart
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-18
    • 2019-09-14
    • 1970-01-01
    • 2011-08-28
    • 2012-08-14
    • 1970-01-01
    • 2015-01-10
    相关资源
    最近更新 更多