2016-02-12 3 views
0

Итак, я хотел экспортировать все песни на свой телефон на свой компьютер, которые были в определенном плейлисте в моем предустановленном музыкальном проигрывателе. Функция, которая должна быть интегрирована imho. Но это не так, и поскольку музыкальные файлы хранятся во многих разных каталогах, некоторые даже на внешней SD-карте, я не хотел этого делать вручную.Как экспортировать плейлисты Песня с android на компьютер Windows

Googling ничего не возвращает, и Samsung Kies, похоже, не предлагает эту функциональность, поэтому я написал себе пакетный файл и думал, что могу поделиться. Я делаю это здесь, потому что люди, которые используют мой файл, должны иметь базовое представление о том, что они собираются делать, что они, вероятно, имеют, когда они являются пользователями stackoverflow.

ответ

0

Для этого решения вам необходимо установить adb.

Как использовать мой файл:

1. Создайте файл с дорожками музыки

This app делает это автоматически и также позволяет импортировать списки воспроизведения (без музыкальных файлов). Но вы также можете создать этот файл другими способами, например. рукой. Убедитесь, что каждый путь к файлу находится в новой строке. Пространства в порядке.

/storage/extSdCard/Instalok/Media__t4p3f3.mp3 /storage/extSdCard/Instalok/Media__t6p5f3.mp3 /storage/extSdCard/Instalok/Media__t8p7f3.mp3 /хранение/эмулировать/0/книги/GRETE_PAIA_San_Sebastiano. mp3 /хранение/эмулировать/0/mp3/The Prodigy - 3 kilos.m4a /storage/emulated/0/mp3/Mermaid.mp3

Пример файла выше. Позвоните в этот файл playlist.txt и сохраните его на своем компьютере рядом с моим командным файлом.

2. Убедитесь, что ваш телефон готов

Подключите ваш телефон через USB с компьютером Windows и открыть CMD. Возможно, вам потребуется включить отладку USB на вашем телефоне или разблокировать блокировку экрана и разрешить доступ. Если ваш телефон подключен, adb devices перечислит его.

3. Проверьте путь к файлу

Если автоматически сгенерированный файл, путь может быть не такой же, как ADB использования. В моем случае adb использовал /mnt/sdcard, в то время как файл содержал все пути к внутренней SD-карте как /storage/emulated/0. /storage/emulated/ существует через adb, но в каталоге 0 нет. В моем случае он работал для внешней SD-карты. Так проверьте свой путь, используя adb shell и ваши обычные средства навигации: cd и ls

Если ваш путь отличается от одного ADB потребностей, заменить его в текстовом файле или использовать опцию SearchText ReplaceText в пакетном файле , Если вам не нужен мой вариант, обязательно замените что-нибудь самим.

4. Установить папку назначения Отредактируй пакетный файл и установить pathname нужную папку назначения.Убедитесь, что он уже существует!

5. Testrun Сохраните пакетный файл в том же каталоге, что и playlist.txt, и запустите его. Он попросит вас сделать теструн. Нажмите y, а затем Enter, чтобы он показывал, какие пути источника будут использоваться. он также проверит, существует ли папка назначения: если она не будет написана, она станет красной. Он не проверяет исходный путь, хотя это ваша собственная работа.

6. Запуск Запустите его снова, на этот раз введите что угодно, кроме y. Затем нажмите enter. На этот раз все будет работать, копируя указанные файлы в папку назначения.

Файл

сохранить его как something.bat

@echo off 
REM make sure everything is set correctly 
REM playlist.txt: place a text file in the same dir as this file 
REM    and name it playlist.txt 
REM    it should contain all file paths on the phone 
REM    each path on a new line 
REM     This can be autogenerated for a playlist by https://play.google.com/store/apps/details?id=org.ssi.playlistbackup 
REM pathname: Where should all the files be saved to 
REM SEARCHTEXT: Where the file containing all the paths says the file is 
REM REPLACETEXT: Where adb shell says the file is 
REM Make sure your destination folder at pathname already exists 
setlocal enabledelayedexpansion 
color 0f 
set pathname=F:\Files\Music 
set SEARCHTEXT=/storage/emulated/0/ 
set REPLACETEXT=/mnt/sdcard/ 
set /p testrun=Is this a testrun? Testrun recommended. (y/n) 
if %testrun%==y (

echo Testrun 

for /F "tokens=*" %%A in (playlist.txt) do (
    set filename=%%~nxA 
    set remotename=%%A 
    REM replace the path with the path as adb uses it. 
    REM use "adb shell 
    REM  >> ls and >>cd 
    REM " to find it out 
    SET string=!remotename! 
    set fixedremotepath=!string:%SEARCHTEXT%=%REPLACETEXT%! 

echo I will try to load this from !fixedremotepath! to !pathname!/!filename! 
) 

echo This warning always appears in Testruns: Make sure you have set all variables as specified in the comments in this file. 
echo If the writing turns red, check your destination Path 
echo I don't check the origin paths for correctness. If they are wrong, they will be mentioned as not found. 
color 0c 
cd %pathname% 

) else (
for /F "tokens=*" %%A in (playlist.txt) do (
    set filename=%%~nxA 
    set remotename=%%A 
    REM replace the path with the path as adb uses it. 
    REM use "adb shell 
    REM  >> ls and >>cd 
    REM " to find it out 
    set SEARCHTEXT=/storage/emulated/0/ 
    set REPLACETEXT=/mnt/sdcard/ 
    SET string=!remotename! 
    set fixedremotepath=!string:%SEARCHTEXT%=%REPLACETEXT%! 

echo I WILL load this from !fixedremotepath! to !pathname!/!filename! 
REM ------------------------------------------------------------ 
adb pull -p "!fixedremotepath!" "!pathname!" 
REM ------------------------------------------------------------ 
) 
) 
pause 
Смежные вопросы