关于 Windows `cmd.exe` 中 `start` 命令的困惑

关于 Windows `cmd.exe` 中 `start` 命令的困惑

有无数个地方start提到了命令,例如

start 命令参数...

我几乎确定它对我有用,但现在当我尝试它时,它想要被称为

start 标题命令参数...

事实上当我运行它时

start "c:\Program Files (x86)\PSPad editor\PSPad.exe"

它会打开一个终端窗口,标题为“c:\Program Files (x86)\PSPad editor\PSPad.exe”,当我添加如下参数时

start "c:\Program Files (x86)\PSPad editor\PSPad.exe" foobar.txt

它抱怨“Windows 找不到‘foobar.txt’”。

它有改变吗?或者有两个版本?或者发生了什么事情?

答案1

我记得,它只能以这种方式工作。因此,要在带有标题的命令窗口中运行带有空格的命令:

start "" "command with space" -option

如果您想要一个标题,您需要在第一组引号中指定它。

对此行为的解释是,虽然title是可选参数,但它也是命令的第一个参数(如果使用)start,因此如果指定带引号的字符串作为第一个参数,它会将其视为title

相关内容