需要powershell中的一些逻辑来度量最新的
我有这样一个文本文件:需要powershell中的一些逻辑来度量最新的,powershell,Powershell,我有这样一个文本文件: 9/22/2015 8/16/2015 8/15/2015 7/30/2015 7/1/2015 6/30/2015 我试图测量最新的条目,它的月份不等于9或8 我不符合逻辑,我尝试的内容如下: $split1 = Get-Content "C:\RDS\split1.txt" foreach($spl1 in $split1) { $sp1 = $spl1 -split '/' $spl1M = $sp1[0] if(($spl1M -ne $past_mont
9/22/2015
8/16/2015
8/15/2015
7/30/2015
7/1/2015
6/30/2015
我试图测量最新的条目,它的月份不等于9或8
我不符合逻辑,我尝试的内容如下:
$split1 = Get-Content "C:\RDS\split1.txt"
foreach($spl1 in $split1)
{
$sp1 = $spl1 -split '/'
$spl1M = $sp1[0]
if(($spl1M -ne $past_month) -and ($spl1M -ne $cur_month))
{
$array3 += $spl1
}else
{
$array3 | Measure-Latest | Add-Content "C:\month.txt"
}
}
简言之:当我在第7个月有2个元素时,我需要得到这两个元素中的最新元素并将其写入文件。所有其他月份不是8和9的人也是如此(如果循环可以保护这一点)。是一个函数
有人能给我一个实现这一点的逻辑吗
编辑:
您可以按月对日期进行分组、排序,然后为每个月选择最大的日期:
$dateGroup = gc "C:\RDS\split1.txt" | Group-Object -Property { $dt=[datetime]$_; $dt.Month } | ?{ $_.Name -ne "8" -and $_.Name -ne "9" }
$dateGroup | %{ [pscustomobject]@{"Count"=$_.Count; "Name"=$_.Name; "Group"=$($_.Group | Sort-Object -Descending | Select-Object -first 1) } }
谢谢但我每个月都会收到一个数组。我需要能够省略第8个月和第9个月的元素,然后得到其他月份的最新数据。你能帮我吗?是的,你只需要把这些过滤掉。我添加了where对象(“?”)以排除这些。正在工作,但我还是有这样的输出:Count Name Group-------2 7{7/30/2015,7/1/2015}如何从中获取7/30/2015。?给定月份中有多少日期的计数由组对象调用输出。非常感谢,但是我编辑了我的问题,只是想告诉你当我执行你的代码时我得到了什么。我想要的最终输出是每个数组中最新的一个,这意味着第7个月、第6个月、第5个月等等。