Batch file 如何使用命令行中的cmd.exe将输出保存到文件中?
我正在尝试运行Batch file 如何使用命令行中的cmd.exe将输出保存到文件中?,batch-file,cmd,Batch File,Cmd,我正在尝试运行cmd.exe“D:a.bat”,但没有得到任何结果。 当我双击批处理文件来运行它时,它会工作 批处理文件中的代码为: echo teztttttt >> a.txt 有人能帮我理解为什么使用cmd.exe运行命令没有产生预期的结果。通常不需要调用cmd.exe来执行批处理脚本。一个批处理脚本调用另一个批处理脚本的典型方式是使用call“D:a.bat”>>a.txt 但是我假设您有充分的理由通过cmd.exe运行脚本 阅读文档(cmd/?,在命令提示符下),您将看到
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“”此
是命令连接运算符(它不被引用或转义)&
这是第二个命令
cmd.exe /c ^""my script.bat" "this&that"^"
外部引号最初被转义,因此
&
被正确地引用。然后,当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“”此
是命令连接运算符(它不被引用或转义)&
这是第二个命令
cmd.exe /c ^""my script.bat" "this&that"^"
外部引号最初被转义,因此
&
被正确地引用。然后,当cmd.exe去掉外部引号时,您将得到正确的命令字符串。您会得到什么错误?还有什么是D:a.bat
??你的意思是不是D:\a.bat
??确实不需要将.bat文件作为cmd.exe的参数运行。会出现什么错误?还有什么是D:a.bat
??你的意思是D:\a.bat
?实际上不需要将.bat文件作为cmd.exe的参数运行。