将脚本指向最新文件

时间:2019-04-28 18:16:15

标签: powershell

希望获取每晚执行更新循环的最新文件。该脚本指向一个文件夹,该文件夹包含多个具有相同命名约定但时间不同的文件。

示例:

File_Test04212019.csv
File_Test04222019.csv
File_Test04232019.csv
File_Test04242019.csv
File_Test04252019.csv
etc.

当我第一次运行此脚本时,它运行良好,但是在我编辑了一些文件以更新它们以查看是否会拉出另一个更新的文件后,它仍在尝试拉起最初拉出的先前文件。这是我在下面使用的脚本。

$dir = "C:\temp\File_Test*"
$filter = "*.csv"
$latest = Get-ChildItem -Path $dir -Filter $filter |
          Sort-Object LastAccessTime -Descending |
          Select-Object -First 1
$latest.Name

Import-Csv -Path $dir | ForEach-Object {

这是我收到的错误消息:

Import-Csv : Cannot perform operation because the path resolved to more than
one file. This command cannot operate on multiple files.
At line:7 char:1
+ Import-Csv -Path $dir | ForEach-Object {

关于如何解决此问题的任何想法?

1 个答案:

答案 0 :(得分:0)

感谢李·戴利(Lee Dailey),下面是答案。

$dir = "C:\temp\File_Test*" 
$filter = "*.csv" 
$latest = Get-ChildItem -Path $dir -Filter $filter | Sort-Object LastWriteTime - 
           Descending | Select-Object -First 1 
$latest.Name $outFile = 'C:\temp\empid_log.csv' 

Import-Csv -Path $latest | ForEach-Object {