Подтвердить что ты не робот

Powershell Get-ChildItem самый последний файл в каталоге

Мы производим файлы с датой в имени. (* ниже - шаблон для даты) Я хочу захватить последний файл, и папка, содержащая файл, также имеет дату (только месяц) в ее названии.

Я использую PowerShell, и я планирую его запускать каждый день. Пока что script:

  $LastFile = *_DailyFile
  $compareDate = (Get-Date).AddDays(-1)
  $LastFileCaptured = Get-ChildItem -Recurse | Where-Object {$LastFile.LastWriteTime        
         -ge $compareDate}
4b9b3361

Ответ 1

Если вам нужен последний файл в каталоге, и вы используете только LastWriteTime для определения последнего файла, вы можете сделать что-то вроде ниже:

gci path | sort LastWriteTime | select -last 1

С другой стороны, если вы хотите полагаться только на имена, у которых есть даты в них, вы должны иметь что-то подобное

gci path | select -last 1

Кроме того, если в каталоге есть каталоги, вы можете добавить ?{-not $_.PsIsContainer}

Ответ 2

Вы можете попытаться отсортировать по убыванию "sort LastWriteTime -Descending", а затем "выбрать -first 1". Не уверен, какой из них быстрее