【问题标题】:Windows equivalent of the Mac OS X “open” commandWindows 等效于 Mac OS X “打开”命令
【发布时间】:2010-10-04 19:36:27
【问题描述】:

刘畅在这里问了一个与这个问题非常相似的问题,Linux equivalent of the Mac OS X "open" command

Mac OS X“打开”命令是否有等效的窗口。我正在尝试运行一个分析器来打开它的结果,但它正在寻找“打开”命令。基本上,该命令需要从命令提示符打开一个文件,就像在资源管理器中双击一样。

【问题讨论】:

    标签: windows command-line command-line-interface


    【解决方案1】:

    最接近的是start


    如果它的第一个参数是双引号,则该参数被视为窗口标题而不是文件名。因此,要稳健地使用它,请添加一个空字符串作为第一个参数:

    start "" "my filename.foo"
    

    Thank you to @Holger for pointing this out!

    【讨论】:

    • 对我来说“start ”只是打开了命令提示符的一个新实例。
    • ConEmu 的作品。
    • 虽然这已经很老了:对于那些与 Thomas Owens 有同样问题的人:语法是 start "<title>" <filename>。这意味着,如果您将文件名放在双引号中,则必须指定标题(否则您将获得另一个命令外壳窗口)。但是,您可以像 start "" "<filename>" 一样将标题留空。
    • @Holger, ...忽略我第一次回应的现已删除的 cmets——我忘记了这是 Windows 并且正在考虑 MacOS/UNIX;在 Windows 上,命令被传递一个带有完整命令行的文字字符串来解析自己,因此虽然解析通常由 libc 完成,但它们确实可以判断它们的参数是否被引用。
    【解决方案2】:

    只需在控制台窗口中输入文件名即可在 Windows 中打开该文件。我尝试了几种格式 - 使用 OpenOffice 打开的 .doc、使用 Windows Media Player 打开的 .mp3 以及使用写字板打开的 .txt。这与我在双击文件时遇到的行为相同。

    【讨论】:

      【解决方案3】:

      我用来写

      explorer.exe <file>
      

      【讨论】:

        【解决方案4】:

        只有 explorer.exe 似乎可以在 cygwin 下运行。

        【讨论】:

          【解决方案5】:

          试试explorer &lt;filename&gt;。例如我想在桌面启动一个名为abc的文件夹,所以我使用了命令

          explorer abc
          

          【讨论】:

          • 欢迎来到 Stack Overflow。回答问题时,请仔细阅读问题,并检查您的回答是否恰当。在这种情况下,OP 想要一个命令来打开文件,而不是查看文件夹。
          【解决方案6】:

          我再次回答这个问题,因为接受的答案不正确 正在使用 start 命令(它将 CMD 作为新实例打开),并且还因为根据 对我来说是explorer.exe,其他人也提到过,但没有澄清 应该是这样!

          所以,如果您想使用“打开”命令打开当前文件夹。你应该使用

          explorer.exe .
          

          这将在资源管理器中打开当前文件夹,或者如果您只是这样做

          explorer.exe 
          

          然后您将打开默认的这台电脑位置(无论是最近的还是我的电脑或其他任何东西)

          它就像在中一样工作,当您只需输入文件名时,它就会在默认程序中打开,就像

          somevideo.mp4
          

          如果您希望该文件/视频与其他程序一起打开/播放,只需写下带有完整路径(如果它不在 PATH 系统变量中)后跟文件名的程序名称

          "C:\program files\greentree applications\vlc.exe" somevideo.mp4
          

          【讨论】:

            【解决方案7】:

            如果您使用 cygwin(或 git bash),这里有一个快速脚本破解。将 EDITOR 更改为您想要的任何内容:

            #!/bin/sh
            # open
            
            EDITOR="exec subl.exe"
            BROWSER="/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"
            
            if [ -d "$1" ]; then
                exec explorer.exe $(cygpath -w "$1")
            elif [ -f "$1" ]; then
                path=$(cygpath --windows "$1")
                case "$1" in
                *.xml) $EDITOR "$1";;
                *.txt) $EDITOR "$1";;
                *.html) "$BROWSER" "$path";;
                file://*) "$BROWSER" "$path";;
                http://*) "$BROWSER" "$path";;
                https://*) "$BROWSER" "$path";;
                esac
            else
                # TODO non-existent file/dir
                echo "non existent file: $1"
                exit 1
            fi
            
            exit 0
            

            【讨论】:

              【解决方案8】:
              正如@charles-duffy 所说,

              'start' 绝对是最适合 Windows 的东西。根据您的项目,也有一些工具可以解决这个问题。

              Node opn 是一个完全跨平台的非常棒的解决方案

              【讨论】:

                【解决方案9】:

                使用start
                我正在使用 Windows 10 并且:

                > start .          
                

                在文件资源管理器中打开当前目录

                > start text.txt
                

                在 Notepad++ 中打开的文本文件(它被设置为我的默认 Txt 编辑器)

                【讨论】:

                • Start . 正是我想要的。
                猜你喜欢
                • 1970-01-01
                • 2010-09-20
                • 1970-01-01
                • 1970-01-01
                • 2021-04-04
                • 2015-08-07
                • 2014-10-27
                • 1970-01-01
                相关资源
                最近更新 更多