Powershell 7-zip控制台输出跟踪日志修改

时间:2018-05-14 06:08:35

标签: powershell logging zip trace 7zip

我正在编写powershell脚本,它将文件存档到.zip中。我还添加了Transcript,它记录了7-zip日志中的所有内容。问题,是否可以修改7-zip控制台日志? 示例:

  

7-Zip 18.05(x64):版权所有(c)1999-2018 Igor Pavlov:2018-04-30

     

扫描驱动器:2个文件夹,4个文件,635322个字节(621 KiB)

     

创建存档:D:\ folder \ folder \ file.zip

     

添加新数据到存档:2个文件夹,4个文件,635322个字节(621 KiB)

     
      
  • 文件夹\ file.docx
  •   
  • 文件夹\ file.DOCX
  •   
  • 文件夹\ file.docx
  •   
  • 文件夹\ file.DOCX
  •   

这是7-zip行负责创建zip,这里我得到所有控制台日志:

[array]$arguments = @("a", "-stl", "-y", "-bb1", "-bd", "-sdel", "-scsWin","-p$pass", $tempDestination, "$($tempProjectDir)\*" )
                    & $Zip $arguments | Out-String

是否可以编辑控制台输出,fox示例删除此输出:

  

7-Zip 18.05(x64):版权所有(c)1999-2018 Igor Pavlov:2018-04-30

或者

  

扫描硬盘:   2个文件夹,4个文件,635322个字节(621 KiB)

有了这个,我希望获得更好的日志文件,并在日志文件中只有重要信息。

1 个答案:

答案 0 :(得分:0)

您可以将输出传递给Where-Object并使用正则表达式来过滤您不想要的内容。像这样:

[array]$arguments = @("a", "-stl", "-y", "-bb1", "-bd", "-sdel", "-scsWin","-p$pass", $tempDestination, "$($tempProjectDir)\*" )
& $Zip $arguments | 
    Out-String |
        Where-Object { $_ -notmatch 'Igor\ Pavlov|Scanning\ the\ drive:'}