Как разделить, а затем сравнить имена файлов при повторении в пакетном режиме? - PullRequest
0 голосов
/ 23 апреля 2020

У меня небольшая проблема с файлом здесь на работе. 138 000 файлов в папке. Название выглядит так:

ABCD_11151780600_DE_20190731.pdf

Объяснение:

TYPE_ARTICLENR_LANG_TIMESTAMP.pdf

Проблема в том, что в этой папке их может быть файл типа:

ABCD_11151780600_DE_20180731.pdf

Так же тип и артикула только со старой отметкой времени. Или, может быть, пару из них.

Мне нужно удалить старые файлы и просто сохранить новые.

Моя идея состояла в том, чтобы сделать это через пакет. В псевдоскрипте это было бы что-то вроде:

for (everyfile as file)
{
   value[] = split delimiter=_ string=file.name
   originalDate = split delimiter=. string value[3]

   for (value[0]_value[1]_value[2]_*.pdf as similarFile)
   {
      similarValue[] = split delimiter=_ string=similarFile.name
      similarDate = split delimiter=. string similarValue[3]
      if(similarDate < originalDate)
      {
         delete similarFile
      }
   }
}

Ну, мои знания о партии ужасны ...

Я зашел так далеко, и нет, я застрял, потому что не могу разбить строку как в PHP, JQuery, JS et c ...

@echo off & setlocal

FOR %%A in (C:\test_batch\*.*) do (
    set name = %%~nxA
    set name2 = %name:*.=%
    echo %name2%
)

pause

Для любой помощи (даже если кто-то просто объяснит мне синтаксис разделения) было бы действительно здорово! Спасибо!

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