У меня есть несколько папок с такой структурой внутри:
aaa
000
important
v001
v002
v003
not_important
something_else
001
important
v001
v002
v003
not_important
something_else
002
important
v001
v002
v003
not_important
something_else
bbb
000
important
v001
v002
v003
not_important
something_else
001
important
v003
not_important
something_else
002
important
v001
v002
v003
not_important
something_else
ccc
000
important
v001
v002
v003
not_important
something_else
001
important
v001
v002
v003
v004
v005
not_important
something_else
002
important
v001
v002
v003
not_important
something_else
Одна из папок называется v00?
, которая содержит определенную версию файла.
Теперь я хочу перечислить все даты последних файлов.
Однако вот мои проблемы:
- Я предполагаю, что не могу использовать рекурсивную функцию, потому что у меня есть несколько папок, которые мне не нужны (not_important в моем примере выше)
- Я хочу только последнюю версию
- Версии не всегда начинаются с одного и не ограничены номером
- Имена папок не являются легкой структурой aaa, bbb, 000 и не могут быть зациклены по имени, а также не обязательно повторяются (Folder1 и Folder2 не совпадают, только количество папок / слоев, в которые они входят)
-Мне нужно перебирать и внешние папки.
Как я могу отфильтровать только последнюю версию этих папок?
Я пробовал это, однако я не могу получить несколько слоев с этой функцией
и команда "dir" дает мне все
"FOR /D %%d IN (*.*) DO ("
Как мне это решить?
Мой текущий код выглядит так>
@echo off
setlocal
for /D %%d in (*.*) do (
echo %%d
cd %%d
for /D %%e in (*.*) do (
echo %%e
cd %%e
for /D %%f in (*.*) do (
cd %%f
echo %%f
Insert Here CD ??
for /f "tokens=*" %%1 in ('dir /b /ad /on v*') do (
set latestdir=%%1
)
echo Latest directory name=%latestdir%
cd %latestdir%\fullres
pause
cd..
)
cd..
)
cd ..
)
pause