Я застрял в этом сценарии, я пытаюсь написать, где я могу выполнить отдельные его части, я не могу соединить его.
В папке есть много подпапок с файлами .mp4, в которых новый файл генерируется очень часто в любом из подкаталогов. Сценарий должен иметь возможность циклически проходить по каждой папке, определять, какой файл из всех них является самым последним, и копировать его в указанную папку, переименовывая его в «Current.mp4»
То, что у меня пока есть, это беспорядок:
Это скопирует файл в подкаталог, но не перебирает все остальные
REM Copy the most recent database backups from their folders
@echo off
REM Copy File in one destination to another --------------------------------------------
setlocal
set srcDir=P:\
set destdir=D:\
set lastmod=
pushd %srcDir%
for /f "tokens=*" %%a in ('dir /S *.mp4 /D /b /o-d /a-d /t:c') do set lastmod=%%a
:::
copy "%lastmod%" "%destDir%"
Между тем, похоже, что этот цикл зациклен, но относится только к последнему файлу в каталоге .bat.
setlocal
set destdir=D:\
SET srcDir=P:\
pushd %srcDir%
FOR /F "delims=" %%I in ('dir /ad /s') do (
pushd "%%~I"
pushd %srcDir%
FOR /F "delims=*" %%G IN ('DIR *=.mp4 /B /A:-D /O:D') DO SET NewestFile=%%G
popd
)
popd
:::
copy "%NewestFile%" "%destdir%"
И, наконец, переименовав, я подумал, что смогу выяснить, как это сделать в последний раз. У меня был опыт работы с c ++, но пакет для меня относительно новый. Любая помощь будет оценена!
Спасибо