Windows 如何将命令提示符中的整个输出发送到日志文件以显示时间更改和错误

Windows 如何将命令提示符中的整个输出发送到日志文件以显示时间更改和错误,windows,batch-file,cmd,io-redirection,Windows,Batch File,Cmd,Io Redirection,下面的代码通过处理每个命令并等待来完成我需要它做的事情。但是,我似乎不知道如何将所有输出都放到日志文件中。现在它只记录日期和时间。我需要将cmd中的所有输出(包括任何错误)记录到日志文件中。我将非常感谢大家的帮助 echo Logged time=%time%%date%%>>TaskSetBatchScripts.log @回音 回显%时间% schtasks/Change/disable/TN\Microsoft\Windows\Shell\FamilySafetyMonitor 超时5>N

下面的代码通过处理每个命令并等待来完成我需要它做的事情。但是,我似乎不知道如何将所有输出都放到日志文件中。现在它只记录日期和时间。我需要将cmd中的所有输出(包括任何错误)记录到日志文件中。我将非常感谢大家的帮助

echo Logged time=%time%%date%%>>TaskSetBatchScripts.log
@回音
回显%时间%
schtasks/Change/disable/TN\Microsoft\Windows\Shell\FamilySafetyMonitor
超时5>NUL
回显%时间%
schtasks/Change/disable/TN\Microsoft\Windows\Shell\familysafetymonitortoastask
超时5>NUL
回显%时间%
schtasks/Change/disable/TN\Microsoft\Windows\Shell\FamilySafetyRefreshTask
超时5>NUL
回显%时间%
schtasks/Change/disable/TN“\Microsoft\Windows\Power Efficiency Diagnostics\AnalyzeSystem”
超时5>NUL
回显%时间%
schtasks/Change/disable/TN\Microsoft\Windows\Maps\mapstoastask
超时5>NUL
回显%时间%
schtasks/Change/disable/TN\Microsoft\Windows\Maps\MapsUpdateTask
超时5>NUL
回显%时间%
schtasks/Change/disable/TN“\Microsoft\Windows\Mobile宽带帐户\MNO元数据解析器”
超时5>NUL
回显%时间%
schtasks/Change/disable/TN“\Microsoft\Windows\Windows错误报告\QueueReporting”
超时5>NUL
回显%时间%
schtasks/Change/disable/TN\Microsoft\Windows\Defrag\scheduledfrag
超时5>NUL
回显%时间%
schtasks/Change/disable/TN“Microsoft\Windows\Windows媒体共享\UpdateLibrary”
超时5>NUL
回显%时间%
schtasks/Change/disable/TN Microsoft\Windows\Maintenance\WinSAT
超时5>NUL
回显%时间%

实现这一点非常容易。有两种方法:在批处理文件中执行:

setlocal EnableDelayedExpansion
(
回声记录时间=!时间!!日期!
@回音
回声!时间到了
schtasks/Change/disable/TN\Microsoft\Windows\Shell\FamilySafetyMonitor
超时5>NUL
回声!时间到了!
schtasks/Change/disable/TN\Microsoft\Windows\Shell\familysafetymonitortoastask
超时5>NUL
回声!时间到了!
schtasks/Change/disable/TN\Microsoft\Windows\Shell\FamilySafetyRefreshTask
超时5>NUL
回声!时间到了!
schtasks/Change/disable/TN“\Microsoft\Windows\Power Efficiency Diagnostics\AnalyzeSystem”
超时5>NUL
回声!时间到了!
schtasks/Change/disable/TN\Microsoft\Windows\Maps\mapstoastask
超时5>NUL
回声!时间到了!
schtasks/Change/disable/TN\Microsoft\Windows\Maps\MapsUpdateTask
超时5>NUL
回声!时间到了!
schtasks/Change/disable/TN“\Microsoft\Windows\Mobile宽带帐户\MNO元数据解析器”
超时5>NUL
回声!时间到了!
schtasks/Change/disable/TN“\Microsoft\Windows\Windows错误
报告\队列报告“
超时5>NUL
回声!时间到了!
schtasks/Change/disable/TN\Microsoft\Windows\Defrag\scheduledfrag
超时5>NUL
回声!时间到了!
schtasks/Change/disable/TN“\Microsoft\Windows\Windows媒体共享\UpdateLibrary”
超时5>NUL
回声!时间到了!
schtasks/Change/disable/TN\Microsoft\Windows\Maintenance\WinSAT
超时5>NUL
回声!时间到了!
)>>TaskSetBatchScripts.log 2>&1
不确定此处需要什么:追加(
>
)或重定向(
>
)[删除以前的内容]

第二种方法是从cmd运行文件,如下所示:

(filename.bat)>>TaskSetBatchScripts.log 2>&1
我不知道你需要什么


(第三种方法是将每个命令的输出附加到一个文件中,添加
2>&1
)。

请复制粘贴您的代码,并通过选择它并按
Ctrl
+
K
对其进行格式化。我们不会格式化你的代码。对此很抱歉。我以为我做了,但我知道它看起来不对劲。看一看。请告诉我:我格式化的代码和你的完全一样吗?你有三个选择。1) 在命令提示符下启动批处理文件,并使其将所有输出重定向到文本文件。2) 将每个命令输出重定向到文本文件。3) 将所有命令放在括号内的代码块中,并使用重定向将该块中的所有代码重定向到一个文件。@double beep,我认为这可能与问题重复。很好的发现。评论不用于扩展讨论;这段对话已经结束。