Powershell Get-ChildItem самый последний файл в каталоге - PullRequest
57 голосов
/ 13 марта 2012

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

Я использую PowerShell и планируюэто бегать каждый день.Вот сценарий до сих пор:

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

Ответы [ 2 ]

129 голосов
/ 13 марта 2012

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

gci path | sort LastWriteTime | select -last 1

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

gci path | select -last 1

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

0 голосов
/ 10 июня 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...