Добрый день, подскажите!
В папке лежат фалы mp3. Необходимо составить список этих файлов определённого вида.
Пример:
01 News
02 News
03 News
05 News
В текстовом редакторе необходимо получить следующие:
FN=01 News.mp3*N=News
FN=02 News.mp3*N=News
FN=03 News.mp3*N=News
FN=04 News.mp3*N=News
FN=05 News.mp3*N=News
Обратите внимание, что после *N= должно стоять название файла без порядкового номера и расширения.
Я использую два способа:
1-й из командной строки
Пуск - выполнить - набрать cmd, в появившемся черном окне набрать
cd /d D:\music
нажать Enter
for %i in (*.mp3) do echo %i >> music.txt
нажать Enter
здесь D:\music - папка, в которой хранятся файлы mp3
2-ой написание bat файла и запуск его из папки с файлами
@echo off
for %%i in (*.mp3) do echo FN=%%i*N=*%%i>> music.txt
Как в первом так и во втором способе получается
FN=01 News.mp3*N=01 News.mp3
FN=02 News.mp3*N=02 News.mp3
FN=03 News.mp3*N=03 News.mp3
FN=04 News.mp3*N=04 News.mp3
FN=05 News.mp3*N=05 News.mp3
Вот в это моя проблема - как написать bat файл, чтобы после *N= мне не приходилось в ручную удалять порядковый номер и расширение. Обратите внимание, что после FN= порядковые номера и расширение должно остаться.
Спасибо! Извините за длинный вопрос.
CMD/BAT - Создание списка из файлов mp3
-
megaloman
Re: CMD/BAT - Создание списка из файлов mp3
Код:
Если имена файлов только News, то можно написать
Set What=D:\Music\*News.mp3
Цитата:
Я использую два способа:
1-й из командной строки
Пуск - выполнить - набрать cmd, в появившемся черном окне набрать
cd /d D:\music
нажать Enter
for %i in (*.mp3) do echo %i >> music.txt
нажать Ente
Если хочется из командного окна,то
Код:
Код: Выделить всё
@echo Off
Set Out=D:\Music\Music.txt
Set What=D:\Music\*.mp3
Del "%Out%" 2>Nul
FOR /F "usebackq tokens=1,* delims= " %%i IN (`Dir "%What%" /B /A:-D 2^>Nul`) DO >>"%Out%" echo FN=%%i %%j*N=%%~njЕсли имена файлов только News, то можно написать
Set What=D:\Music\*News.mp3
Цитата:
Я использую два способа:
1-й из командной строки
Пуск - выполнить - набрать cmd, в появившемся черном окне набрать
cd /d D:\music
нажать Enter
for %i in (*.mp3) do echo %i >> music.txt
нажать Ente
Если хочется из командного окна,то
Код:
Код: Выделить всё
FOR /F "usebackq tokens=1,* delims= " %i IN (`Dir *.mp3 /B /A:-D`) DO >>Music.txt echo FN=%i %j*N=%~nj-
vvvv555666
Re: CMD/BAT - Создание списка из файлов mp3
папка D:\Music\ естественно взята для примера и то что название файлов News тоже для примера.
Задача в том, чтобы bat файл запускать из любой папки и в ней же появлялся список.
Я уже сам смастерил вот это:
@echo Off
FOR /F "usebackq tokens=1,* delims= " %%i IN (`Dir "%What%" /B /A:-D 2^>Nul`) DO >>"%Out%" echo FN=%%i %%j*N=%%~nj>> aaa.txt
Теперь у меня проблема в том, что мне приходится bat файл и получившейся txt файл вырезать из папки помещать в следующую папку и запускать bat в txt, где уже автоматически добавляются списки файлов к уже существующим.
А можно ли написать bat файл на основе моего, но чтобы его запускать из папки, в которой находится несколько папок (например 6 штук) с музыкальными файлами.
Пример:
Допустим в папке Traveling Wilburys на диске Е лежат паки, в каждой из них файлы mp3
01 Volume 1 (1988) в ней файлы
01 Handle With Care
02 Dirty World
03 Rattled
02 Volume 2 [Tom Petty] (1989) в ней файлы
01 Free Fallin'
02 I Won't Back Down
03 Love Is A Long Road
и т.д. Необходимо получит следующий список:
F=01 Volume 1 (1988)*N=Volume 1 (1988)
FN=01 Handle With Care.mp3*N=Handle With Care
FN=02 Dirty World.mp3*N=Dirty World
FN=03 Rattled.mp3*N=Rattled
F=02 Volume 2 [Tom Petty] (1989)*N=Volume 2 [Tom Petty] (1989)
FN=01 Free Fallin'.mp3*N=Free Fallin'
FN=02 I Won't Back Down.mp3*N=I Won't Back Down
FN=03 Love Is A Long Road.mp3*N=Love Is A Long Road
Задача в том, чтобы bat файл запускать из любой папки и в ней же появлялся список.
Я уже сам смастерил вот это:
@echo Off
FOR /F "usebackq tokens=1,* delims= " %%i IN (`Dir "%What%" /B /A:-D 2^>Nul`) DO >>"%Out%" echo FN=%%i %%j*N=%%~nj>> aaa.txt
Теперь у меня проблема в том, что мне приходится bat файл и получившейся txt файл вырезать из папки помещать в следующую папку и запускать bat в txt, где уже автоматически добавляются списки файлов к уже существующим.
А можно ли написать bat файл на основе моего, но чтобы его запускать из папки, в которой находится несколько папок (например 6 штук) с музыкальными файлами.
Пример:
Допустим в папке Traveling Wilburys на диске Е лежат паки, в каждой из них файлы mp3
01 Volume 1 (1988) в ней файлы
01 Handle With Care
02 Dirty World
03 Rattled
02 Volume 2 [Tom Petty] (1989) в ней файлы
01 Free Fallin'
02 I Won't Back Down
03 Love Is A Long Road
и т.д. Необходимо получит следующий список:
F=01 Volume 1 (1988)*N=Volume 1 (1988)
FN=01 Handle With Care.mp3*N=Handle With Care
FN=02 Dirty World.mp3*N=Dirty World
FN=03 Rattled.mp3*N=Rattled
F=02 Volume 2 [Tom Petty] (1989)*N=Volume 2 [Tom Petty] (1989)
FN=01 Free Fallin'.mp3*N=Free Fallin'
FN=02 I Won't Back Down.mp3*N=I Won't Back Down
FN=03 Love Is A Long Road.mp3*N=Love Is A Long Road
-
megaloman
Re: CMD/BAT - Создание списка из файлов mp3
vvvv555666,
Если батник запускается в папке, где имеются подпапки с музыкой, то
Код:
Но батник можно иметь в любом месте, если указать в нём путь где имеются подпапки с музыкой, в этом случае в Вашем примере
Set "Where="
необходимо заменить на
Set "Where=E:\Traveling Wilburys\"
В любом случае получим текстовый файл нужного Вам вида в папке с подпапками с музыкой с указанным Вами именем, у меня имя задано как Music.txt в строке
Set "Txt=Music.txt"
При этом не надо никуда батник перемещать.
По идее, можно организовать батник, чтобы запускать его с параметром -путём к папке, при этом доработка батника самая минимальная
Если батник запускается в папке, где имеются подпапки с музыкой, то
Код:
Код: Выделить всё
@echo Off
Set "Where="
Set "Txt=Music.txt"
Set Out="%Where%%Txt%"
Del %Out% 2>Nul
FOR /F "usebackq tokens=1,* delims= " %%D IN (`Dir "%Where%" /B /A:D 2^>Nul`) DO (
>>%Out% Echo F=%%D %%E*N=%%~nE
FOR /F "usebackq tokens=1,* delims= " %%i IN (`Dir "%Where%%%D %%E\*.mp3" /B /A:-D 2^>Nul`) DO >>%Out% Echo FN=%%i %%j*N=%%~nj
)Но батник можно иметь в любом месте, если указать в нём путь где имеются подпапки с музыкой, в этом случае в Вашем примере
Set "Where="
необходимо заменить на
Set "Where=E:\Traveling Wilburys\"
В любом случае получим текстовый файл нужного Вам вида в папке с подпапками с музыкой с указанным Вами именем, у меня имя задано как Music.txt в строке
Set "Txt=Music.txt"
При этом не надо никуда батник перемещать.
По идее, можно организовать батник, чтобы запускать его с параметром -путём к папке, при этом доработка батника самая минимальная
-
Iska
Re: CMD/BAT - Создание списка из файлов mp3
Цитата megaloman:
По идее, можно организовать батник, чтобы запускать его с параметром -путём к папке, при этом доработка батника самая минимальная
Именно. И пусть коллега vvvv555666 перетаскивает папки на пакетный файл.
По идее, можно организовать батник, чтобы запускать его с параметром -путём к папке, при этом доработка батника самая минимальная
CMD/BAT - Создание списка из файлов mp3
Именно. И пусть коллега vvvv555666 перетаскивает папки на пакетный файл.
-
vvvv555666
Re: CMD/BAT - Создание списка из файлов mp3
Огромное спасибо megaloman !!! Всё получилось. Если интересно могу рассказать для чего мне всё это надо было.