我想通过脚本在其默认程序中打开一个文件(特别是视频文件)。当我遇到带有空格的文件名时,它被视为几个参数,这并不奇怪:
C:\folder>start test space.avi
The system cannot find the file test.
但是,当我用引号括起文件名时:
C:\folder>start "test space.avi"
不是在默认程序(VLC)中打开文件,而是打开一个新的命令提示符窗口,直到文件目录。
打开没有空格或引号的文件会按预期在VLC中打开文件。
我怎样才能解决这个问题?
答案 0 :(得分:12)
我怀疑当第一个参数的第一个字符是引号时,start会做一些特别的事情。第一个参数是窗口标题,第二个参数是要打开的命令/文件
start "" "test space.avi"
答案 1 :(得分:10)
只需关闭start
,然后用双引号括起完整的文件名(包括任何路径)。这在我的系统上工作正常:
C:\>"test space.avi"
答案 2 :(得分:3)
这是一个众所周知的问题(至少对我而言: - )
您必须在CMD
脚本中使用短名称格式。
要找到特定文件的简称,请执行以下操作:
CMD
窗口。$> dir /X
希望,这有帮助
答案 3 :(得分:1)
添加首字母""正如Glen所说,确保CMD继续并且不进入等待模式。这在批处理文件中尤为重要。
总结:
1-打开文件并等待用户关闭它然后再继续执行下一个命令
start "" "test space.avi"
2-打开文件并继续执行下一个命令(无需等待)
start "" "test space.avi"
根据您的需要,您可以选择1或2。