Я хотел бы перечислить и индексировать файлы (видеофайлы, такие как .mp4, .avi, ... в моем случае) в каталоге
Я использовал :
setlocal disableDelayedExpansion
for /f "delims=" %%A in ('forfiles /s /m * /c "cmd /c echo @relpath"') do (
set "file=%%~A"
setlocal enableDelayedExpansion
echo !file:~2!
endlocal
)
Но это будет только список файлов, а также включает в себя папку (я хотел бы только видео файлы). Пример:
"script.bat"
"video01.mp4"
"video02.webm"
"video03.avi"
"exportfolder"
"exportfolder\video04.avi"
"exportfolder\video05.mpg"
Я также не хочу тезисов: " script.bat " и " exportfolder "
Я знаю, что если я добавлю * .avi в строку forfiles, у меня больше не будет этой проблемы, но мне придется дублировать эти строки сценария для формата видео eatch ... не очень круто, верно ?! Было бы лучше, если бы я исключил каталоги и файлы, которые я знаю, я не хочу перечислять, нет?
Я думаю, что я должен поставить "/ ad" где-нибудь, чтобы скрыть каталоги, но где?
Но чтобы скрыть файлы, которые я не хочу перечислять и проиндексировать остальные (дать каждому из них имена и номера переменных, которые можно использовать), я понятия не имею ... perhapse где-то рядом с "!file:~ 2! "line?!
В любом случае, позвольте мне показать вам, что я хотел бы иметь:
1. "video01.mp4"
2. "video02.webm"
3. "video03.avi"
4. "exportfolder\video04.avi"
5. "exportfolder\video05.mpg"
это даст пользователю скрипта возможность выбрать файл по своему выбору с чем-то вроде:
set /p choice=What is the file you want to use ?
if %choice%==1 set file=indexlist1
if %choice%==2 set file=indexlist2
if %choice%==3 set file=indexlist3
if %choice%==4 set file=indexlist4
и скрипт продолжит работу с выбранным файлом ... если мне удастся поймать значение для напечатанного индексного файла, который я хочу.
Я надеюсь, что вы видите, что я хотел бы сделать ?!
Это много вопросов, знаете, но любая помощь будет отличной!
Спасибо !
Гийом.