CSV文件生成新名称 - 调用powershell

时间:2017-08-08 09:02:43

标签: powershell

我想从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) {

   }

 }

谢谢,

1 个答案:

答案 0 :(得分:3)

您可以使用Get-Childitem获取目录中的文件/目录。您可以将其与-Filter结合使用以仅获取CSV,Sort-ObjectLastWriteTime排序(最新的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) {

   }

 }