我正在运行一些命令并获取输出。现在我想让它自动化。我创建了.bat文件,但我无法保存输出。
如何在批处理文件中成功运行命令后保存输出。
答案 0 :(得分:2)
两种选择:
实施例
echo %DATE% %TIME% > mylog.txt
cmd1 >> mylog.txt
cmd2 >> mylog.txt
...
实施例
call mybatfile.bat > mylog.txt
附注:
一个。 “文本输出”实际上由两个独立的“流”组成:stdout(普通文本)和stderr(错误文本)。如果要将两者重定向到同一日志文件,可以使用以下语法:
call mybatfile.bat > mylog.txt 2>&1
湾">"
在写入之前删除先前的内容。 ">>"
将新输出附加到文件的先前内容。
答案 1 :(得分:1)
只需添加">文件名"在您调用脚本的命令之后,输出将被写入此文件(" filename")。
有关详细信息,请参阅https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/redirection.mspx?mfr=true(附加,......)。
答案 2 :(得分:0)
使用来自@ paulsm4:
的答案中的代码此方法比在每行末尾添加空格更好,因为没有额外和不需要的字符。
> mylog.txt echo %DATE% %TIME%
>> mylog.txt cmd1
>> mylog.txt cmd2
在这种方法中使用空格的原因是因为在没有空格时会吃掉一些数字。
echo %DATE% %TIME% > mylog.txt
cmd1 >> mylog.txt
cmd2 >> mylog.txt