首页 > 解决方案 > 将脚本指向最新文件

问题描述

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

例子:

File_Test04212019.csv
File_Test04222019.csv
File_Test04232019.csv
File_Test04242019.csv
File_Test04252019.csv
等等

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

$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:无法执行操作,因为路径解析为超过
一个文件。此命令不能对多个文件进行操作。
在行:7 字符:1
+ 导入-Csv -Path $dir | ForEach-对象 {

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

标签: powershell

解决方案


感谢 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 {

推荐阅读