sag*_*gar 3 windows cmd batch-file
我正在从命令提示符执行start命令.命令调用名为D:\ My script.cmd的批处理文件,并传递参数" Argument one ".这是我要执行的命令.
C:\Users\ABCUser>start "D:\My script.cmd" "Argument one"
Run Code Online (Sandbox Code Playgroud)
但得到错误mesasge因为系统无法找到文件Argument one. 我不明白为什么命令正在搜索文件.文件内容我的script.cmd.
@echo off
cls
echo "Hello"
echo %1
Run Code Online (Sandbox Code Playgroud)
我错过了什么或命令语法错了吗?此命令甚至不适用于没有空格的文件名.
这是众所周知的启动/ cmd.exe处理cmd的错误,也是带引号的参数.
原因是,start使用cmd.exe/k来启动新任务.
cmd/k和cmd/c的帮助解释说,在这种情况下,第一个和最后一个引号被删除.
另外你使用了start命令错误.
这应该工作,因为调用就像一个假人来压制引用问题
start "Title" call "D:\My script.cmd" "Argument one"
Run Code Online (Sandbox Code Playgroud)