Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Получить список файлов в папке по маске с нужным количеством символов в названии

Ответить
Настройки темы
PowerShell - [решено] Получить список файлов в папке по маске с нужным количеством символов в названии

Старожил


Сообщения: 286
Благодарности: 10

Профиль | Отправить PM | Цитировать


Изменения
Автор: 9119
Дата: 06-08-2021
Добрый.
Нужна ваша помощь.
нагуглить не смог.

Итак:
Нужно получить первый (самый новый) файл в папке по маске *.tmp, с одним важным условием:
нужно получить тот файл, имя которого всегда содержит всего 4 символа (пример ABCD.tmp, 1234.tmp, 1A2B.tmp...)
Имена все время меняются и разные. Поэтому более точную маску применить нет возможности.

Сейчас получаю так:
Код: Выделить весь код
$file = Get-ChildItem -Path $env:temp -filter *.tmp | Sort-Object LastAccessTime -Descending | Select-Object -First 1 |%{$_.FullName}
Команда выполняется в определенный момент в скрипте, поэтому в 90% случаев я получаю имеенно искомый файл.
НО иногда под данному запросу попадают другие временные файлы (вида 618d5fdf-e5ff-45f8-9954-817552dcb926.tmp и др.)
Мне же нужно чтобы всегда попадали файлы вида XXXX.tmp (только 4 символа в названии).
Возможно ли?


p.s. если нужное мне нереально - тогда подход с другой стороны:
1) данный XXXX.tmp всегда будет самым коротким по названию. Можно отсортировать список файлов по новизне и по длинне строки. Тогда искомое всегда будет на 1 месте
2) данный файл вида XXXX.tmp создается в результате запуска .exe. Может можно как-то отслеживать имя создаваемого файла tmp через сам exe.. ну или как-то так.
но только с возможностью обязательного занесения полученного имени XXXX.tmp в переменную ps.


Спасибо.

Отправлено: 11:50, 06-08-2021

 

Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


Код: Выделить весь код
-filter ????.tmp
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:26, 06-08-2021 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 286
Благодарности: 10

Профиль | Отправить PM | Цитировать


Цитата Foreigner:
-filter ????.tmp »
так просто. Спасибо.

Отправлено: 12:30, 06-08-2021 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Только CreationTime, а не LastAccessTime. И -File к Get-ChildItem добавить.

Отправлено: 16:27, 06-08-2021 | #4


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6680
Благодарности: 1561

Профиль | Отправить PM | Цитировать


Цитата 9119:
Sort-Object LastAccessTime -Descending | Select-Object -First 1 »
Descending не нужен, достаточно взять не первый, а последний элемент
Код: Выделить весь код
sort lastwritetime |select -last 1

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:18, 06-08-2021 | #5


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


DJ Mogarych, а по «скорострельности» разница будет (теоретически)?

Отправлено: 20:02, 06-08-2021 | #6


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6680
Благодарности: 1561

Профиль | Отправить PM | Цитировать


Теоретически, если в массиве очень много объектов, наверное, будет. Просто зачем его переворачивать, если можно этого не делать?

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 21:28, 06-08-2021 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Получить список файлов в папке по маске с нужным количеством символов в названии

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Получить список файлов UnrealMalcolm Скриптовые языки администрирования Windows 16 07-06-2020 19:58
CMD/BAT - Удаление символов в конце имени файлов в папке Viktor99 Скриптовые языки администрирования Windows 9 02-06-2019 23:27
CMD/BAT - Перемещение файлов по маске с созданием папки по дате в названии файла AndreH Скриптовые языки администрирования Windows 5 08-08-2018 09:14
CMD/BAT - [решено] Переименование файлов с заменой символов по маске Constantant Скриптовые языки администрирования Windows 41 29-03-2016 03:40
PHP - получить список файлов директории по фильтру xNiSSaNx Вебмастеру 1 18-06-2013 06:34




 
Переход