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