Получить ZIP-файл с самой последней датой изменения в данном каталоге:
$source = "C:\temp"
$destination = "C:\temp\output"
$zipFile = Get-ChildItem -Path $source -Filter "*.zip" |
Sort-Object LastWriteTime -Descending |
Select-Object -First 1
Expand-Archive -Path $zipFile.FullName -DestinationPath $destination
Это работает путем поиска всех zip-файлов, сортировки их по дате изменения по убыванию и последующего получения «первого» (в соответствии с заданным порядком сортировки).
Я также использовал команду Expand-Archive
, чтобы извлечь zip-файл в указанное место назначения. Если вам нужно скопировать zip-архив, то это достаточно просто с помощью командлета Copy-Item
.
Как отмечали некоторые комментаторы: Expand-Archive
был представлен в версии 5 PowerShell.
Однако логика получения «последнего» файла неизменна и может быть легко добавлена в существующий скрипт:
$zip = $shell.NameSpace($zipFile.FullName)