2015-08-28 27 views

回答

1

两个选择:

  1. 重定向( “>”)直接.bat文件的命令,当你调用它们

例:

echo %DATE% %TIME% > mylog.txt 
cmd1 >> mylog.txt 
cmd2 >> mylog.txt 
... 
  • 创建第二个.bat文件来调用第一个,并将第一个中的所有内容重定向:
  • call mybatfile.bat > mylog.txt 
    
  • 旁注:

    一个。 “文本输出”实际上由两个单独的“流”组成:stdout(普通文本)和stderr(错误文本)。如果你既想重定向到同一个日志文件,你可以使用这个语法:

    call mybatfile.bat > mylog.txt 2>&1

    ">"在写入之前删除以前的内容。 ">>"将新输出追加到文件的以前的内容。

  • +0

    '> outfile.txt'或'>> outfile.txt '也可以在命令前面陈述,例如, G。 '> outfile.txt echo Hey.';如果输出文件(路径)包含空格,将其放在一对'''(这可能会在一般情况下); – aschipfl

    +0

    “命令1>&2 Folderpath \ mylog.txt”这不工作在我的情况。对于多个组合,我得到这个错误“***无法识别的命令行参数'D:\ out.txt'。 “ –

    +1

    我的不好:(试试这个:'command> Folderpath \ mylog.txt 2>&1' – paulsm4

    0

    使用从答案代码@ paulsm4:

    这种方法比在每行的结束,因为没有多余的和不必要的字符添加一个空格更好。

    > mylog.txt echo %DATE% %TIME% 
    >> mylog.txt cmd1 
    >> mylog.txt cmd2 
    

    在这种方法中使用空格的原因是因为有些数字在没有空间时被吃掉。

    echo %DATE% %TIME% > mylog.txt 
    cmd1 >> mylog.txt 
    cmd2 >> mylog.txt 
    
    相关问题