diff --git a/README.md b/README.md index 4759989..921a733 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,109 @@ # ListDownloader +**ListDownloader** — консольное приложение для выкачивания файлов по списку ссылок с переименованием скачанных файлов. Поддерживает следующие форматы списков для выкачивания: +- m3u/m3u8 с именованием треков; +
Пример +

+ + **playlist.m3u:** + ``` + #EXTM3U + #EXTINF:-1,Чайковский - Симфония №4 + https://example.com/123/456/789/1011.mp3 + #EXTINF:-1,Smile.dk - Doki doki + https://example.net/s/333/444/0bba235f.mp3 + #EXTINF:-1,Марина Лаврова - За поворотом + https://example.com/000/song.mp3 + ``` + + Файлы в папке **playlist** после вызова `ListDownloader.exe "playlist.m3u"`: + ``` + Чайковский - Симфония №4.mp3 + Smile.dk - Doki doki.mp3 + Марина Лаврова - За поворотом.mp3 + ``` + +

+
-Консольное приложение для выкачивания файлов по списку ссылок с переименованием. Поддерживает следующие форматы списков для выкачивания: -- m3u/m3u8 с именованием треков. Идеально подходит для выкачивания m3u-файла, который формирует браузерное расширение SaveFrom.Net, создавалось по большей части для этого сценария. -- txt файл со ссылками, причём в качестве имени берётся первая непустая строка-нессылка, предшествующая ссылке. +- txt файл с именами и ссылками: в качестве имени файла берётся первая непустая строка-нессылка, предшествующая ссылке. +
Пример +

+ + **links.txt:** + ``` + Чайковский - Симфония №4 + https://example.com/123/456/789/1011.mp3 + Фотография Москвы + https://example.com/00000/000001/00001.jpg + ListDownloader_1.0.3 + https://github.com/multiprogramm/ListDownloader/releases/download/1.0.3/ListDownloader.exe + ``` + + Файлы в папке **links** после вызова `ListDownloader.exe "links.txt"`: + ``` + Чайковский - Симфония №4.mp3 + Фотография Москвы.jpg + ListDownloader_1.0.3.exe + ``` + +

+
-## Типичный сценарий использования: -``` + +## Типичный сценарий использования +```Batchfile ListDownloader.exe "playlist.m3u" ``` -## Подробная информация о параметрах: -``` -ListDownloader.exe /help +Можно либо вызвать из командной строки, либо просто в проводнике открыть файл *playlist.m3u* с помощью программы **ListDownloader.exe**. Файлы будут скачиваться в папку, которая будет иметь такое же имя, как и файл списка, и будет находиться рядом с этим файлом. Т.е. в данном примере рядом с файлом *playlist.m3u* будет создана (если её нет) папка *playlist*, куда и будут сохраняться файлы. + + +## Зачем создавалась программа +Расширение браузера SaveFrom.Net нормально выкачивает одиночные треки, подставляя название в диалог «Сохранить как». Но вот с выкачиванием целого плейлиста есть небольшая проблема. После процесса скана ссылок можно получить m3u-плейлист, внутри которого есть и корректные имена треков, и ссылки на эти треки, но вот программы, которая выкачала бы композиции с корректными именами, сохранёнными в плейлисте, я не нашёл, поэтому и написал **ListDownloader**. + + +## Информация о параметрах +Полный вызов такой: +```Batchfile +ListDownloader.exe [Attributes] "PathToLinksFile" ``` +, где: +- *PathToLinksFile* — путь к файлу, из которого нужно извлечь ссылки для скачки и соответствующие имена файлов. +- *[Attributes]* — необязательные один или несколько параметров, которые можно задать: + +#### -threads *NUM* +Количество одновременно качаемых файлов. + +По умолчанию: 2. + + + +#### -num +У результирующих файлов в имени будет добавлен префикс-номер. + +По умолчанию: выключено. + + + +#### -encoding *ENCODING* +Кодировка, в которой читаем файл-список. + +По умолчанию: **utf-8**. +Возможные значения этого ключа можно посмотреть [вот тут](https://docs.microsoft.com/en-us/dotnet/api/system.text.encoding?view=netframework-4.5.2#list-of-encodings) в столбце «Name». И нужно, чтобы в столбце «.NET Framework support» стояла галочка, либо кодировка дополнительно поддерживалась ОС. + + +#### -timeupd *NUM* +Пауза в миллисекундах между обновлениями консоли. + +По умолчанию: 200. + + + +#### -dir "*PATH_TO_DIR*" +Папка, в которую будут сохраняться файлы. + +По умолчанию: папка рядом с файлом со ссылками, с таким же именем. + + + +#### -help +Показать справку по параметрам