Сантей
13-03-2014, 13:17
Здраствуйте! Помогите разобраться, задача такая: надо копировать из папки 303 все файлы *.VOB по очереди в папку 303_gotov с именем из 303.txt
Структура папок такова:
303\1. <Исполнитель>\Disk\*.VOB
2. <Исполнитель>\Disk\*.VOB
3. <Исполнитель>\Disk\*.VOB
и т.д.
Исполнитель постоянно меняется, содержание файла 303.txt:
01. <Исполнитель> - <Название>
02. <Исполнитель> - <Название>
03. <Исполнитель> - <Название>
и т.д.
Скрипт в принципе готов (может он далек от совершенства), но проблема именно в произвольных исполнителях в пути к файлу
@echo OFF
set /p number_FM=Введите номер выпуска:
md %number_FM%_gotov
set name_txt=%number_FM%.txt
for /f "usebackq delims=" %%i in (`find /n /v "" %name_txt% ^| find "[1]"`) do (set name_file=%%i)
echo Копируем 1-ый клип
copy "%number_FM%\1.*\Disk\*.VOB" "%number_FM%_gotov\%name_file:~3%.VOB" >nul
for /f "usebackq delims=" %%i in (`find /n /v "" %name_txt% ^| find "[2]"`) do (set name_file=%%i)
echo Копируем 2-ый клип
copy "%number_FM%\2.*\Disk\*.VOB" "%number_FM%_gotov\%name_file:~3%.VOB" >nul
for /f "usebackq delims=" %%i in (`find /n /v "" %name_txt% ^| find "[3]"`) do (set name_file=%%i)
echo Копируем 3-ый клип
copy "%number_FM%\3.*\Disk\*.VOB" "%number_FM%_gotov\%name_file:~3%.VOB" >nul
for /f "usebackq delims=" %%i in (`find /n /v "" %name_txt% ^| find "[4]"`) do (set name_file=%%i)
echo Копируем 4-ый клип
copy "%number_FM%\4.*\Disk\*.VOB" "%number_FM%_gotov\%name_file:~3%.VOB" >nul
pause
Структура папок такова:
303\1. <Исполнитель>\Disk\*.VOB
2. <Исполнитель>\Disk\*.VOB
3. <Исполнитель>\Disk\*.VOB
и т.д.
Исполнитель постоянно меняется, содержание файла 303.txt:
01. <Исполнитель> - <Название>
02. <Исполнитель> - <Название>
03. <Исполнитель> - <Название>
и т.д.
Скрипт в принципе готов (может он далек от совершенства), но проблема именно в произвольных исполнителях в пути к файлу
@echo OFF
set /p number_FM=Введите номер выпуска:
md %number_FM%_gotov
set name_txt=%number_FM%.txt
for /f "usebackq delims=" %%i in (`find /n /v "" %name_txt% ^| find "[1]"`) do (set name_file=%%i)
echo Копируем 1-ый клип
copy "%number_FM%\1.*\Disk\*.VOB" "%number_FM%_gotov\%name_file:~3%.VOB" >nul
for /f "usebackq delims=" %%i in (`find /n /v "" %name_txt% ^| find "[2]"`) do (set name_file=%%i)
echo Копируем 2-ый клип
copy "%number_FM%\2.*\Disk\*.VOB" "%number_FM%_gotov\%name_file:~3%.VOB" >nul
for /f "usebackq delims=" %%i in (`find /n /v "" %name_txt% ^| find "[3]"`) do (set name_file=%%i)
echo Копируем 3-ый клип
copy "%number_FM%\3.*\Disk\*.VOB" "%number_FM%_gotov\%name_file:~3%.VOB" >nul
for /f "usebackq delims=" %%i in (`find /n /v "" %name_txt% ^| find "[4]"`) do (set name_file=%%i)
echo Копируем 4-ый клип
copy "%number_FM%\4.*\Disk\*.VOB" "%number_FM%_gotov\%name_file:~3%.VOB" >nul
pause