如何“调用”路径名中带有空格的批处理文件

如何“调用”路径名中带有空格的批处理文件

在批处理脚本中,我想调用另一个批处理脚本,如下所示:

call C:\Users\user name\test.cmd
call "C:\Users\user name\test.cmd"

第一个不起作用,因为文件路径中有一个空格,第二个不起作用,因为call尝试用双引号执行整个字符串。

有没有不用就可以做到这一点的方法start

编辑,更多上下文:

:runAndAssertCmd
    echo Running: %1
    call %~1 || exit /b
goto:eof

call :runAndAssertCmd "C:\Users\user name\bower install"

这将导致错误,

'C:\Users\user' is not recognized as an internal or external command, operable program or batch file.

答案1

在您的子程序runAndAssertCmd行中用 替换%~1,就像%1前者删除您希望保留的引号一样。

相关内容