Windows启动命令无法执行批处理文件

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)

我错过了什么或命令语法错了吗?此命令甚至不适用于没有空格的文件名.

jeb*_*jeb 5

这是众所周知的启动/ 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)