2014-01-14 3 views
0

У меня есть папка, содержащая сотни подкаталогов фильмов, каждая из которых содержит несколько фильмов и несколько jpg. Каждой папке фильма и одному jpg в этой папке дано название фильма (то есть. Имя папки: The Matrix и Имена изображений: The Matrix.jpg, , fanart.jpg). Я хотел бы сделать копию каждого из jpg с тем же именем, что и папка, назовите эти копии folder.jpg и поместите их в одну папку.Пакетный файл для копирования и переименования файлов с именем папки

Я нашел этот скрипт, но не мог понять, как его настроить для моей ситуации, поскольку он предполагает наличие только одного jpg в папке.

@echo off 
for /f "delims=" %%F in ('dir /b /s *.jpg') do Echo COPY "%%~dpnxF" "%%~dpF\folder.jpg" 
echo Done 
Pause 
+0

Если имя 2 файлов folder.jpg и поместить их в ту же папку, последний файл скопирован перезаписывает существующий, вам нужно придумать уникальное имя для каждого файла, чтобы сохранить их. В вашем примере, даже если вы изменили имя жестко закодированного файла на переменную, вам также нужно будет создать способ уникального имени для сохранения каждого файла ... Возможно, что-то вроде - <имя исходного файла>. К сожалению, мой мозг обжарен с работы, поэтому я не могу привести фактический рабочий пример. – Taegost

+0

Чтобы перефразировать это - вы не можете поместить три файла в папку с тем же именем. Не поняли ли мы, что вы хотите сделать? – foxidrive

ответ

0
@echo off 
    set "whereToStart=d:\movies" 

    for /d /r "%whereToStart%" %%f in (*) do (
     if exist "%%~ff\%%~nxf.jpg" copy /y "%%~ff\%%~nxf.jpg" "%%~ff\folder.jpg" 
    ) 

Для каждой папки, если он содержит .jpg файл с тем же именем, что и каталог, скопируйте этот файл в качестве Folder.jpg внутри одной и той же директории. ДОПОЛНИТЕЛЬНАЯ проверка может быть добавлен, чтобы избежать не нужны копии, проверка на наличие целевого файла

@echo off 
    set "whereToStart=d:\movies" 

    for /d /r "%whereToStart%" %%f in (*) do (
     if exist "%%~ff\%%~nxf.jpg" if not exist "%%~ff\folder.jpg" (
      copy "%%~ff\%%~nxf.jpg" "%%~ff\folder.jpg" 
     ) 
    ) 
Смежные вопросы