我想从Powershell脚本中调用CSV文件,我知道该怎么做。但问题是,我需要每天使用新的CSV文件名(每天生成一个新的CSV)。无论如何要做到这一点,而不必每天更改PS脚本上的文件名称?
$csv = Import-Csv '$D\path to csv'
$headers = $csv | Get-Member -MemberType NoteProperty | select -Expand Name
foreach ($header in $headers) {
foreach ($data in $csv.$header) {
}
}
谢谢,
答案 0 :(得分:3)
您可以使用Get-Childitem
获取目录中的文件/目录。您可以将其与-Filter
结合使用以仅获取CSV,Sort-Object
按LastWriteTime
排序(最新的CSV位于顶部)和Select-Object
,以便您只获取最新的文件
$myCsv = Get-ChildItem '$D\path to csv' -Filter *.csv |
Sort-Object LastWriteTime -Descending |
Select-Object -First 1
$csv = Import-Csv $myCsv
$headers = $csv | Get-Member -MemberType NoteProperty | select -Expand Name
foreach ($header in $headers) {
foreach ($data in $csv.$header) {
}
}