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

时间:2012-12-03 21:14:31

标签: shell windows-7 command-line

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

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

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

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

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

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

我怎样才能解决这个问题?

4 个答案:

答案 0 :(得分:12)

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

start "" "test space.avi"

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

答案 1 :(得分:10)

只需关闭start,然后用双引号括起完整的文件名(包括任何路径)。这在我的系统上工作正常:

C:\>"test space.avi"

答案 2 :(得分:3)

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

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

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

答案 3 :(得分:1)

添加首字母""正如Glen所说,确保CMD继续并且不进入等待模式。这在批处理文件中尤为重要。

总结:

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

start "" "test space.avi"

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

start "" "test space.avi"

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