通过命令提示符在 Windows 中打开带空格的文件

问题描述 投票:0回答:4

我想通过脚本在其默认程序中打开一个文件(特别是视频文件)。当我遇到带有空格的文件名时,它会被视为多个参数,这并不奇怪:

  C:\folder>start test space.avi
  The system cannot find the file test.

但是,当我用引号将文件名引起来时:

  C:\folder>start "test space.avi"

不是在默认程序 (VLC) 中打开文件,而是在文件目录中打开一个新的命令提示符窗口。

打开不带空格或引号的文件会按预期在 VLC 中打开文件。

我该如何解决这个问题?

shell windows-7 command-line
4个回答
21
投票

我怀疑当第一个参数的第一个字符是引号时 start 做了一些特殊的事情。第一个参数是窗口标题,第二个参数是要打开的命令/文件

start "" "test space.avi"

http://ss64.com/nt/start.html


18
投票

只需省略

start
,并用双引号将完整文件名(包括任何路径)引起来。这在我的系统上运行良好:

C:\>"test space.avi"

3
投票

这是一个众所周知的问题(至少对我来说:-)

您必须在

CMD
脚本中使用短名称格式。 要查找特定文件的短名称,请执行以下操作:

  1. 打开指向文件文件夹的
    CMD
    窗口。
  2. 运行命令:
    $> dir /X
  3. 在中间栏中,您将看到感兴趣的文件的短名称。在您的特定情况下,它将类似于:TESTSP~1.AVI
  4. 在脚本中使用这个裸名。

希望有帮助


1
投票

按照 Glen 的指示添加最初的“”可确保 CMD 继续并且不会进入等待模式。这在批处理文件中尤其重要。

总结:

1- 打开文件并等待用户关闭它,然后再继续下一个命令

start "" "test space.avi"

2- 打开文件并继续执行下一个命令(无需等待)

start "" "test space.avi"

根据您的需要,您可以选择 1 或 2。

© www.soinside.com 2019 - 2024. All rights reserved.