本帖最后由 terse 于 2019-9-11 19:41 编辑
来一个 powershell 的- function Script:Fileinfo{
- param([String]$pha,[String]$phb,[String]$f1,[String]$f2)
- Begin {
- $array = '修改时间','文件名称','ip','jh','100M','请求','无法','unreach','一般','failure','wl','result'
- $arr =$array[4..9]
- $text = ''
- }
- process{
- $s1 = $_.LastWriteTime.ToString('yyyy年MM月dd日HH:mm:ss')
- $s2 = ($_.BaseName).Substring(0,4)
- $s3 = (select-string $f1 -pattern "$s2" -AllMatches -Encoding default).Line
- if (!$s3) {$s3 = "-"}
- $s4 = (select-string $f2 -pattern "$s2" -AllMatches -Encoding default).Line
- if (!$s4) {$s4 = "-"}
- $ar = New-Object System.Collections.ArrayList
- for (;$ar.Add(0) -lt 5;){}
- $s = (select-string $_ -pattern $arr -AllMatches -Encoding default | group Pattern)
- [int] $len = $s.name.Count
- if ($len -gt 0) {
- for ($i = 0;$i -lt $len; $i++) {
- if ($arr -contains $s[$i].name) {
- $ar[$arr.indexof($s[$i].name)] += $s[$i].Count
- }
- }
- }
- $sum = ($ar[1..5] | Measure-Object -Sum).Sum
- $ar = ,$s4.split(' ')[0].PadRight(5) + $ar
- $ar = ,$s3.split(' ')[0].PadRight(10) + $ar
- $ar = ,$s2.PadLeft(3) + $ar
- $ar = ,$s1.PadRight(10) + $ar
- $ar += "$sum"
- $text += ($ar -join("`t")) + "`n"
-
- }
- end {
- $f = $phb+'wltj'+ $(-join((48..57 + 65..90 + 97..122) | get-random -count 6 | %{[char]$_}))+'.txt'
- $text | Out-File -Encoding default $f
- Get-ChildItem -Path $pha B*.txt -Force| Sort-Object -Property LastWriteTime |Where-Object {!$_.PSIsContainer} |remove-item
- }
- }
- $pha="d:\se\"
- $phb="d:\se\se\"
- $f1 = "$phb"+"ipref.txt"
- $f2 = "$phb"+"jhref.txt"
- Get-ChildItem -Path $pha B*.txt -Force| Sort-Object -Property LastWriteTime |Where-Object {!$_.PSIsContainer} | Fileinfo "$pha" "$phb" "$f1" "$f2"
复制代码
|