|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Создание списка из файлов mp3 |
|
CMD/BAT - Создание списка из файлов mp3
|
Новый участник Сообщения: 3 |
Добрый день, подскажите!
В папке лежат фалы 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= порядковые номера и расширение должно остаться. Спасибо! Извините за длинный вопрос. |
|
Отправлено: 11:06, 23-06-2013 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать @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 Set What=D:\Music\*News.mp3 Цитата:
|
|
------- Последний раз редактировалось megaloman, 23-06-2013 в 11:30. Отправлено: 11:12, 23-06-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать папка 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 |
Отправлено: 22:36, 23-06-2013 | #3 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать vvvv555666,
Если батник запускается в папке, где имеются подпапки с музыкой, то @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" При этом не надо никуда батник перемещать. По идее, можно организовать батник, чтобы запускать его с параметром -путём к папке, при этом доработка батника самая минимальная |
------- Последний раз редактировалось megaloman, 24-06-2013 в 00:14. Отправлено: 00:06, 24-06-2013 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
|
||
Отправлено: 05:05, 24-06-2013 | #5 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Огромное спасибо megaloman !!! Всё получилось. Если интересно могу рассказать для чего мне всё это надо было.
|
Отправлено: 10:31, 24-06-2013 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Переименование файлов из списка *.txt | IntuitOS | Скриптовые языки администрирования Windows | 12 | 30-03-2013 10:36 | |
VBS/WSH/JS - Создание группы файлов Excel на основе списка | Serg2010 | Скриптовые языки администрирования Windows | 4 | 23-03-2013 00:43 | |
Создание группы файлов Excel на основе списка | Serg2010 | AutoIt | 1 | 19-03-2013 05:43 | |
CMD/BAT - [решено] Создание файлов из списка в txt | kasik | Скриптовые языки администрирования Windows | 1 | 15-01-2011 20:04 | |
C/C++ - Создание списка файлов | Albreht | Программирование и базы данных | 2 | 20-07-2009 01:17 |
|