在Windows上从命令行打开文件


62

在Mac OS X和Linux上的GNOME上,可以使用以下命令分别在其关联的GUI编辑器中从命令行打开文件:opengnome-open。Windows是否有类似这样的命令?


@badp:我提到了“ Linux上的GNOME”,而不仅仅是Linux。
Wuffers

抱歉,抱歉。
badp

@badp:不用担心。;)
Wuffers 2011年

xdg-open是更通用的Linux示例,如果有人关心的话
Furicle

Answers:


58

如果您当前位于命令提示符下,并且有一个名为test.png和的文件,则c:\test可以执行以下操作:

如果您在目录中(应该说c:\test>),请键入:

test.png

这将在默认的png图片编辑器中打开测试。

如果文件名包含空格,则只需将文件名括在“”中

 "this image.png"

您也可以输入:

c:\test\test.png

无论您身在何处,都可以打开该文件。

最后,您可以将图片传递给另一个程序。例如,如果您有一个名为imageedit.exe的图像编辑器,并且它支持通过命令行打开文件(并且该程序是可路径访问的或位于当前目录中),则可以键入以下内容:

 imageedit c:\test\test.png

只是好奇:还有没有一种方法可以通过命令提示符关闭文件或程序或窗口?
迈尔·约翰逊

@MilesJohnson只有通过调用其他工具,如taskkill.exe
威廉Hilsum

1
可从cmd运行,但不能从PowerShell或Git Bash运行-资源管理器是更通用的方式
Furicle

49

如果它是注册的扩展名,则可以使用“开始”

start WordDoc.doc

6
对于使用Bash或其他Shell的用户来说,这是一个很好的答案。
Yves Junqueira

这实际上是正确的答案。如果提供URL,它甚至会打开默认浏览器。
kumarharsh's

1
当我将名称括在引号中时,由于某种原因,它会打开一个新的Shell窗口。
Erhannis

3
正如史蒂文·迪格比(Steven Digby)在下面提到的那样,start的第一个参数是窗口标题,因此类似的方法start "" WordDoc.doc可以工作
Tony Brix

根据您使用的shell,start会执行不同的操作。使用Powershell,它使用cmd调用Start-Process。使用cmd调用传统的启动。使用Git Bash,它调用cmd的启动。cmd Start不处理网络位置。PowerShell版本将与下面将详细介绍的explorer一样。
Furicle

10

在DOS命令行上,explorer "<PATH>"将使用Windows默认关联程序打开文件路径。这还将处理所有URI(http:,https:,ftp:)和Windows操作系统中定义的其他文件协议。如果文件或协议未与任何程序关联,Open With则将显示一个对话框。如果文件不存在,则默认My Documents文件夹将打开。它还可以打开可执行文件(EXE,BAT文件)和外壳程序命名空间路径。

例子

explorer "http://www.google.com"-将在Windows默认浏览器中打开http://www.google.com

explorer "file:///C:\temp\"如果存在则将打开临时目录

explorer "file.txt"file.txt在当前目录路径.ie %CD%路径上打开

explorer ::{645ff040-5081-101b-9f08-00aa002f954e}将打开RecycleBin

您可以在此处参考资源管理器的其他有用的命令行开关



1

Start的第一个参数是窗口标题,因此如果文件名中有空格,然后键入

启动“我的File.txt”

您将获得一个命令行窗口,标题为“ My File.txt”。要解决此问题,请使用虚拟标题,

开始“我的标题”“我的File.txt”

根据文件和打开的应用程序的不同,可能不会有一个窗口。


1

如果您 PowerShell中(在提示符),并且要打开当前目录中的文件,您可以尝试这个。如果您在命令提示符中,则可以通过键入以下内容来完成相同的结果PS (current-directory)> .\myfile.ext

powershell -c .\myfile.ext

(您必须包括.\,因为默认情况下PowerShell不会从当前位置加载文件。)或者如果文件不在当前目录中,则可以提供目录名(相对或绝对)。

对于第一种情况(如果您 PowerShell中),如果文件名包含空格,则将其用引号(任意一种)括起来,并在其前面加上 &符号:

PS C:\ Users \ myusername \ Pictures>&“。\ funny cat.jpg”

&如果您更喜欢可读性,则可以在可读性之后添加一个空格,并且可以使用/代替\。)如果第二种情况(您powershell -c从命令提示符运行),我不知道如何在第二种情况下实现此目的文件或目录名称包含空格-引号似乎无济于事。


0

带有特定文件的特定可执行文件:

Windows 10上的Git Bash脚本:


SHORTCUTS_MAIN_START.sh:

    FILE_PATH="C:\DEV\REPO\GIT\AHK03\SHORTCUTS\SHORTCUTS_MAIN.ahk"
    EXEC_PATH="C:\DEV\REPO\GIT\AHK03\AHK_ROOT\AutoHotkeyU64.exe"

    $EXEC_PATH $FILE_PATH

本示例打开$ FILE_PATH表示的文件,并以$ EXEC_PATH表示可执行文件。如果这对您不起作用,请尝试将路径的单斜杠(“ \”)转换为双斜杠(“ \\”)。


-1

这可能会晚一点,但是在Windows 7中编辑文件名的正确命令是“ write file_name”

这将打开默认的文本编辑器,您应该可以轻松地编辑文件

编辑:它似乎只打开写字板。对我来说,这是默认的文本编辑器。


好招 但是,它不会启动默认的文本编辑器。我的.txt文件默认编辑器是Crimson编辑器,但是此命令会打开写字板。
Jan Doggen

是的,我也这样做。写字板对我来说是默认的。感谢更新!无论如何,希望这对原始海报有所帮助。
编码器

2
write的缩写write.exe,是写字板的可执行文件。它存储在C:\windows%PATH%,因此这只是使用写字板打开文件的常规方式。
amenthes

-3

在Windows命令提示符下,您可以运行

edit [file_name]

为了查看批处理文件/日志/文本文件等。此命令需要QBASIC.EXEWindows中默认存在的。

有关其他有用的MS-DOS命令,请参见此处


2
在Windows 7 64位上似乎无法运行,editqbasic.exe无法识别。此外,这仅适用于纯文本文件。
Indrek 2012年

@Indrek,在Win8上也无法识别。
Pacerier 2015年

现代Windows命令行不是DOS。
oldherl
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.