[英]How Can I save my output to files with using cmd.exe in command line?
我正在尝试运行cmd.exe "D:a.bat"
但是什么也没得到。 当我通过双击运行批处理文件时,它可以工作。
批处理文件中的代码是:
echo teztttttt >> a.txt
有人可以帮助我了解为什么使用cmd.exe运行命令无法产生预期的结果。
通常,您不需要调用cmd.exe即可执行批处理脚本。 一个批处理脚本调用另一个批处理脚本的典型方法是使用call "D:a.bat" >> a.txt
。
但是我认为您有充分的理由通过cmd.exe运行脚本。
阅读文档(从命令提示符处输入cmd /?
),您将看到必须在命令前加上/C
cmd.exe /c "D:a.bat"
所显示的代码不是问题,但是如果仔细阅读帮助,您将发现cmd.exe如何处理引号有些有趣。
如果必须由于空格和/或毒害字符而对脚本加引号,并且随后的引数也带有引号,则您可能无法获得所需的内容,因为cmd.exe会删除第一个和最后一个引号。
例如:
cmd.exe /c "my script.bat" "this&that"
将尝试执行(很可能失败)
my script.bat" "this&that
哪里
my
是第一个程序名称,而script.bat" "this
是第一个参数 &
是命令串联运算符(不加引号或转义) that
是第二个命令 通过将整个命令行包含在一组额外的转义引号中可以解决此问题:
cmd.exe /c ^""my script.bat" "this&that"^"
外引号最初是转义的,因此正确地引用了&
。 然后,当cmd.exe去除外引号时,您将获得正确的命令字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.