仅显示 Output/String Powershell 的特定部分
Display only certain part of Output/String Powershell
我当前输出到命令
Get-Content -Path $logFilePath
如下:
Transcript started, output file is \<path>\
7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21
Open archive: \<path>\<archive>.zip
--
Path = \<path>\<archive>.zip
Type = zip
Physical Size = 2543
Scanning the drive:
6 folders, 9 files, 9757 bytes (10 KiB)
Creating archive: \<path>\<archive>.zip
Add new data to archive: 0 files, 0 bytes
Files read from disk: 0
Archive size: 22 bytes (1 KiB)
Everything is Ok
过滤输出的最佳方法是什么,使其看起来像这样
7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21
New Data Added: 0 files
New Data Size: 0 bytes
Archive size after new backup: 22 bytes (1 KiB)
感谢所有帮助 - Tortellini
如果您的源日志保留相同的结构,那么下面应该可以满足您的需求。
$content = (get-content 'C:\test\New Text Document.txt').Split("`n")
$row15 = (($test[15].Split(':'))[1].Split(',')).Trim()
$NDA = $row15[0]
$NDS = $row15[1]
$NAS = (($test[19].Split(':'))[1]).Trim()
$output = "$($test[2])`r`n`r`n`t`tNew Data Added: $NDA`r`n`t`tNew Data Size: $NDS`r`n`t`tArchive size after new backup: $NAS"
这基本上是对内容的砍伐和砍伐工作,因为结构允许这样做。
它将内容行作为数组获取。从那里您可以从数组元素中提取相关数据并在创建新的输出字符串之前对其进行清理。
您可以使用 Regex 路由来匹配您想要的数据并以这种方式提取它,但 Regex 总是让我头疼。
看看上面的内容与您尝试的内容相比如何会很有趣。我敢肯定有很多方法可以达到所需的结果,也许您的想法只需要一点改进。
我当前输出到命令
Get-Content -Path $logFilePath
如下:
Transcript started, output file is \<path>\
7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21
Open archive: \<path>\<archive>.zip
--
Path = \<path>\<archive>.zip
Type = zip
Physical Size = 2543
Scanning the drive:
6 folders, 9 files, 9757 bytes (10 KiB)
Creating archive: \<path>\<archive>.zip
Add new data to archive: 0 files, 0 bytes
Files read from disk: 0
Archive size: 22 bytes (1 KiB)
Everything is Ok
过滤输出的最佳方法是什么,使其看起来像这样
7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21
New Data Added: 0 files
New Data Size: 0 bytes
Archive size after new backup: 22 bytes (1 KiB)
感谢所有帮助 - Tortellini
如果您的源日志保留相同的结构,那么下面应该可以满足您的需求。
$content = (get-content 'C:\test\New Text Document.txt').Split("`n")
$row15 = (($test[15].Split(':'))[1].Split(',')).Trim()
$NDA = $row15[0]
$NDS = $row15[1]
$NAS = (($test[19].Split(':'))[1]).Trim()
$output = "$($test[2])`r`n`r`n`t`tNew Data Added: $NDA`r`n`t`tNew Data Size: $NDS`r`n`t`tArchive size after new backup: $NAS"
这基本上是对内容的砍伐和砍伐工作,因为结构允许这样做。 它将内容行作为数组获取。从那里您可以从数组元素中提取相关数据并在创建新的输出字符串之前对其进行清理。
您可以使用 Regex 路由来匹配您想要的数据并以这种方式提取它,但 Regex 总是让我头疼。
看看上面的内容与您尝试的内容相比如何会很有趣。我敢肯定有很多方法可以达到所需的结果,也许您的想法只需要一点改进。