Powershell 我可以让robocopy日志文件只显示一行摘要和日期吗?而不是有多个列?非常感谢。
到目前为止,我有这段代码只是为了显示robocopy的摘要。我能不能把它改短一行?比如一行,显示复制的总大小、日期,以及复制是否成功等等。谢谢Powershell 我可以让robocopy日志文件只显示一行摘要和日期吗?而不是有多个列?非常感谢。,powershell,file,logging,robocopy,short,Powershell,File,Logging,Robocopy,Short,到目前为止,我有这段代码只是为了显示robocopy的摘要。我能不能把它改短一行?比如一行,显示复制的总大小、日期,以及复制是否成功等等。谢谢 /Z/e/xx/W:5/NFL/NDL/NJH/nc/np/unilog+:$Logfile 这是输出: Total Copied Skipped Mismatch FAILED Extras Dirs : 1 0 0 0
/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
使用一点选择字符串、修剪和拆分
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上传到一个文本文件中,这样当我收到电子邮件时,它就会显示你输入的结果。有没有办法做到这一点?我想你必须使用addcontent,而且单行的字节部分没有通过。“字节复制:2021年4月30日星期五上午9:44:38”我不知道如何将该行输入RoboForm电子邮件,因为它将在控件返回PowerShell处理日志文件之前被处理。当然,在处理完日志文件后,您可以杀死RoboForm电子邮件并从PowerShell发送一封。我如何从PowerShell发送一封?对不起,我是新来的。我真的很感谢你的帮助。