Windows启动命令无法执行批处理文件
问题描述:
我正在执行启动命令从命令提示符。 命令调用名为的批处理文件D:\我的script.cmd并传递参数“参数一”。这是我正在执行的命令。Windows启动命令无法执行批处理文件
C:\Users\ABCUser>start "D:\My script.cmd" "Argument one"
,但得到的错误mesasge为系统无法找到文件参数之一。 我不明白为什么命令正在搜索文件。文件内容我的script.cmd。
@echo off
cls
echo "Hello"
echo %1
我是否缺少某些东西或命令语法错误?这个命令甚至不适用于没有空格的文件名。
答
这是众所周知的处理cmd的start/cmd.exe错误,也是带引号的参数。
原因是,start
使用cmd.exe/k来启动新任务。
cmd/k和cmd/c的帮助解释,在这种情况下,第一个和最后一个报价被删除。
此外,您使用了错误的启动命令。
这应该工作,作为呼叫就像一个假人,用以剿的报价问题
start "Title" call "D:\My script.cmd" "Argument one"
答
您可以使用cmd.exe /c "D:\My script.cmd" arg1 arg2
如果你可以切换使用/ K的/ C一个问题,将离开CMD打开你考试系统错误..
GL,
Refael
这与'.net'或'c'无关。实际上,您指定的文件很可能不在那里,或者在执行“开始”(例如,权限)的命令提示符下无法访问。 –
我目前无法访问Windows机器,但我怀疑它将文件视为新进程的标题,并将参数视为文件。尝试在文件名前添加一个空字符串'“”'。 –
根据你所包含的内容,你不需要'开始'。你可以直接使用“D:\ My script.cmd”“Argument one”而不用'start'。 –