写一段bat脚本,需要不阻塞的调用一个外部程序,于是使用start命令. 遇到了一些坑。
1. 启动一个路径带空格的程序
第一直觉是start "command with blank",但是行不通,因为start默认第一个参数是title因此写start command是可以的但是写start "command with blank"就不行了. 因为此时command with blank就成了新窗口的标题,而内部则是一个cmd程序。因此要写成start "" "command with blank",或者填写上标题。当然还有另一种办法,先chdir到那个文件夹然后再启动程序。
2. 启动一个带参数的程序
非常naive的写start "title" "command -c xxxx"然后提示command -c xxxx未找到,看来是直接把这一串当成文件名了。于是改成start "title" "command" "-c xxxx"但是也行不通。经过几番尝试发现start "title" "command" "-c=xxxx"和start "title" "command" "-c" "xxx"和start "title" command -c xxxx都可行.