有没有办法在任务计划程序中记录脚本的所有输出?

Gre*_*egH 4 windows-server-2008

我正在调度一个 DOS 批处理脚本以通过任务计划程序运行。有没有办法将任务/作业配置为将所有输出(使用 ECHO 命令生成输出)写入日志文件?可以在任务计划程序中配置日志记录(似乎安装了 v1.0)。

Mul*_* IT 6

使用执行日志记录的起始批次

您可以编辑脚本以将所有内容输出到文件而不是屏幕,或者您可以创建一个批处理文件来运行批处理文件并安排另一个批处理文件......(抱歉,听起来很混乱,我知道)。

基本上,假设您运行的批处理文件名为myscript.cmd创建一个名为myscript-logging.cmd. 在该批处理文件中输入如下命令:

myscript > c:\myscript.%date:~-4%%date:~4,2%%date:~7,2%.%time::=%.log 2>&1
Run Code Online (Sandbox Code Playgroud)

上面应该在C:驱动器的根目录中创建一个日志文件,其名称基于它的执行日期和时间(因此它永远不会覆盖它,并且每次运行脚本时都有一个日志)。

例子

上面的例子,如果脚本是在 2010 年 6 月 22 日晚上 10 点运行的,那么最终的文件名应该是这样的:

myscript.20100622.220000.00.log
Run Code Online (Sandbox Code Playgroud)

格式是这样的:

myscript.YYYYMMDD.HHMMSS.hundredths of a second.log
Run Code Online (Sandbox Code Playgroud)

注意:注意您的磁盘空间!

注意:这可能会填满您的硬盘驱动器,因为它永远不会删除单个日志文件并不断添加文件。

因此,如果您打算长期使用它,您应该投入额外的精力来监控和自动清理您的磁盘空间。