Я бы предложил сделать это немного другим способом.Герхард Барнард и Джон Кенс предложили сделать простой for
цикл по всем *.mkv
файлам.Тем не менее, это не будет работать, если есть скрытые файлы.У вас может быть альтернативное чрезвычайно общее решение:
@echo off
for /F "delims=" %%A IN ('dir /b /a-d "C:\some\path\to\mkvs" *.mkv') do (
attrib -h "%%~fA" >nul 2>&1
if not exist "%%~dpnA Footage\" md "%%~dpnA"
move "%%~fA" "%%~dpnA Footage\"
)
, которое, безусловно, более безопасно, поскольку мы используем полные пути.if exist
может быть здесь бессмысленным, потому что вы можете сделать:
@echo off
for /F "delims=" %%A IN ('dir /b /a-d "C:\some\path\to\mkvs" *.mkv') do (
attrib -h "%%~fA" >nul 2>&1
md "%%~dpnA" >nul 2>&1
move "%%~fA" "%%~dpnA Footage\"
)
, что означает перенаправить любой вывод (ошибки и STDOUT) на nul
, поэтому скрывайте их.