У меня есть несколько файлов, которые я бы хотел отсортировать и сохранить самый новый файл.Я не могу сделать это по дате изменения атрибутов файла или создания, что я мог бы сделать без проблем.
Вот соглашение об именах файлов. ФайлABC_YYYYMMDD.txt
- ФайлABC_20190201.txt
- ФайлABC_20190125.txt
- Файл ABC_20190118.txt
- Файл ABC_201901.*
- ФайлABC_20190104.txt
Вы можете видеть, что отметка даты находится в самом имени файла.Эти файлы создаются еженедельно.Поэтому я бы хотел пройти через них пакетный файл и удалить все файлы, кроме наиболее устаревших на данный момент.Я действительно искал, как сделать это лучше всего, и я не нахожу много, поэтому мне нужны идеи.Я предпочитаю чистое решение cmd, но я также открыт для решений powershell.
Я пытаюсь разобрать дату с помощью ...
@echo off
setlocal enabledelayedexpansion
for /f "tokens=* delims= " %%G IN ('dir/b /a-d "C:\Users\thomas.maus\Documents\Tom\dev\Test Batch Files\dev\sortbyFileDateName\FileABC_*.txt"') do (
set fileName=%%G
Set theDate=!fileName:~8,8!
echo !theDate!
)
Затем я хочу как-то взять эти даты из результатов цикла исделать что-то вроде
if "%theDate%" GEQ "*****not sure what to put here*****" (
del *all the old files, also not sure what to put here*
)