我有一個CSV文件電子表格(從Excel xlsx轉換而來),大約有21列和74,000行。我感興趣的四列是與員工開始日期,終止日期,部門名稱以及他們向其報告的副總裁有關的列。在PowerShell中比較CSV列的日期
我想編寫一個腳本,將返回誰已達到其開始日期,尚未終止的所有員工,工作在包含名稱中的「人力資源」部門,以及特定的副總裁彙報。我將在代碼塊後詳細說明我的具體問題。
$Lawson = Import-Csv .\Documents\Lawson_HR.csv
$startDate = $Lawson | where [datetime]::ParseExact($_.'LAW HIRE DATE', 'dd-MM-yyyy', $null) -le (Get-Date)
$endDate = $startDate | where {$_.'LAW TERM DATE' -eq ''}
$HR = $endDate | where {$_.'LAW DEPT NAME' -match 'HR'}
$VP = $endDate | where {$_.'VICE PRESIDENT' -match 'Croner'}
首先,$startDate
變量是不行的,我不能確定,比較給定日期(從CSV)到今天的日期所需的語法。 ($endDate
變量的功能,因爲它應該,但我被告知,使用的方法是不可靠的。)
此外,我想在每行搜索Dept Name
列的任何實例的字母'HR'(注意:部門名稱可能是'人力資源 - 職業服務'或'人力資源 - 多樣性'這樣的東西,我希望在部門名稱字段中的任何地方都有'HR'的所有行)。我感覺運營商並不是這樣做的方式,但我不確定。
同樣,我想要$VP
變量返回Vice President
列有一個給定名稱(在本例中爲Croner)的所有項目。