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

标签 windows batch-file cmd

我正在命令提示符下执行start 命令。 命令调用名为 D:\My script.cmd 的批处理文件并传递参数“Argument one”。这是我要执行的命令。

   C:\Users\ABCUser>start "D:\My script.cmd" "Argument one"

但收到错误消息,因为系统找不到文件参数一。 我不明白为什么命令正在搜索文件。文件 My script.cmd 的内容。

@echo off
cls
echo "Hello"
echo %1

我是不是遗漏了什么或者命令语法有误?此命令甚至不适用于没有空格的文件名。

最佳答案

这是众所周知的 start/cmd.exe 处理 cmd 和带引号的参数的错误。
原因是 start 使用 cmd.exe/k 来启动新任务。
cmd/k 和 cmd/c 的帮助说明,在这种情况下,第一个和最后一个引号被删除。

此外,您使用了错误的启动命令。

这应该有效,因为调用就像一个虚拟对象一样可以抑制引用问题

start "Title" call "D:\My script.cmd" "Argument one"

关于Windows 启动命令无法执行批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19276438/

相关文章:

java - bat文件不在Java中执行

batch-file - 使用带有特殊字符的批处理回显

linux - 关于 Linux 和 Windows 中的死锁

java - requestFocus() 适用于 Mac,但不适用于 Windows

c++ - Windows 事件日志中没有类别

windows - 重命名批处理文件 Windows

windows - git clone 在 git shell 中工作,但在 windows 命令行中不工作

batch-file - 让批处理 "START/WAIT"命令等待程序启动

c# - 将.cs转换为.dll CS0246错误

windows - 如何在 Windows 中抑制移动命令结果