我可以让 robocopy 日志文件只显示一行摘要和日期吗?而不是多列?谢谢你
Posted
技术标签:
【中文标题】我可以让 robocopy 日志文件只显示一行摘要和日期吗?而不是多列?谢谢你【英文标题】:Can I get the robocopy log file to just display one line of the summary and date? instead of having multiple columns? thank you 【发布时间】:2021-04-29 16:03:51 【问题描述】:到目前为止,我有这段代码只是为了显示 robocopy 的摘要。我可以把这条线做得很短,只有 1 行吗?就像一行显示复制的总大小、日期以及是否成功或类似的东西。谢谢
/Z /e /xx /W:5 /NFL /NDL /NJH /nc /np /unilog+:$Logfile
这是输出:
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 0 0 0 0
Files : 10 1 9 0 0 0
Bytes : 1.009 g 102.79 m 931.15 m 0 0 0
Times : 0:00:06 0:00:06 0:00:00 0:00:00
Speed : 15897359 Bytes/sec.
Speed : 909.654 MegaBytes/min.
Ended : Thursday, April 29, 2021 11:24:08 AM
【问题讨论】:
【参考方案1】:使用一点 Select-String、Trim 和 Split。
Clear-Host
#Next line for testing only you can delete since you already have it defined!
$LogFile = "G:\BEKDocs\Batch\BackupTasks\RoboCopyNAS.log"
$Log = Get-Content -Path "$LogFile"
$Bytes = $($Log | Select-String -Pattern "Bytes :" -SimpleMatch).Line.Trim(" ")
$DT = $($Log | Select-String -Pattern "Ended :" -SimpleMatch).Line.Trim(" ")
$Parts = $Bytes.Split(" ")
$Bytes = $Parts[3] + $Parts[4]
"Bytes Copied: $Bytes on $($DT.Trim('Ended :'))"
结果:
Bytes Copied: 27.493g on Thursday, April 29, 2021 6:15:20 PM
HTH
【讨论】:
您好,我希望它从 robocopy 将结果保存到文本文件中,这样当我收到电子邮件时,它会显示您输入的结果。有没有办法做到这一点? 我认为你必须使用 Add-Content 单行的字节部分也没有通过。 “复制的字节数:2021 年 4 月 30 日星期五上午 9:44:38” 我不知道如何将该行放入 RoboForm 电子邮件,因为它将在控制权返回到 PowerShell 以处理日志文件之前进行处理。您当然可以在处理完日志文件后终止 RoboForm 电子邮件并从 PowerShell 发送一封。 如何从 Powershell 发送一个?抱歉,我是新手。非常感谢您的帮助。以上是关于我可以让 robocopy 日志文件只显示一行摘要和日期吗?而不是多列?谢谢你的主要内容,如果未能解决你的问题,请参考以下文章
如何在一个批处理文件中从一个源文件夹执行两个 ROBOCOPY 语句到两个目标文件夹?