2017-08-29 2 views
1

Ich versuche, eine Batch-Datei erstellen, die alle meine Dashcam Videos von meinem Android-Handy mit adb zieht.Windows cmd scrambelt Dinge beim Ausführen von "adb pull [Ziel] [Ziel]" in einer FOR-Schleife

set source=/mnt/m_external_sd/Android/data/com.happyconz.blackbox/files/autoboy/autoboy_video 
set destination=S:\Archive\Autoboy\original 
for /f "usebackq" %%f in (`adb shell ls %source%`) do (
    echo.adb pull %source%/%%f 
) 

Dieses Skript arbeitet, wie dies die folgende Ausgabe (Echo für Debugging-Zwecke) erstellt:

adb Pull /mnt/m_external_sd/Android/data/com.happyconz.blackbox/files /autoboy/autoboy_video/2017_08_28_08_33_53.mp4

adb Pull /mnt/m_external_sd/Android/data/com.happyconz.blackbox/files/autoboy/autoboy_video/2017_08_28_18_35_14.mp4

[...]


aber wenn ich versuche, ein Ziel des adb Pull Befehl zu definieren, es nicht arbeiten.

set source=/mnt/m_external_sd/Android/data/com.happyconz.blackbox/files/autoboy/autoboy_video 
set destination=S:\Archive\Autoboy\original 
for /f "usebackq" %%f in (`adb shell ls %source%`) do (
    echo.adb pull %source%/%%f %destination%\%%f 
) 

Dieser gibt die folgende Ausgabe:

S: \ Archive \ AUTOBOY \ original \ 2017_08_28_08_33_53.mp4nz.blackbox/files/AutoBoy/autoboy_video/2017_08_28_08_33_53.mp4

S: \ Archive \ AUTOBOY \ original \ 2017_08_28_18_35_14.mp4nz.blackbox/files/AutoBoy/autoboy_video/2017_08_28_18_35_14.mp4

[...]


Wenn ich versuche tatsächlich den Befehl anstelle von Echo zu laufen, gibt es mir einen anderen verschlüsselten String:

'existmnt nicht/m_external_sd/Android/data/com.happyconz.blackbox /files/autoboy/autoboy_video/2017_08_28_08_33_53.mp4


gibt es etwas, das ich in cmd festlegen müssen, bevor das Skript ausgeführt wird, oder ist dies eine echte Fehler?

Natürlich kann ich cd in mein Ziel. dir, dann den Zug ausführen, ohne ihm das Ziel zu geben, aber das ist eine unnötige Komplikation für ein einfaches Skript.

Ich wette, es ist, weil Windows und Unix unterschiedliche neue Zeile Definitionen verwenden.

+0

Speichern Sie die Ausgabe von adb Pull in eine Datei: 'adb Shell ls% source%> output.txt' und überprüfen Sie es für Wagenrücklauf (CR). Etwas stimmt nicht mit ihnen. – wolfrevokcats

Antwort

0

Ihre endgültigen Dateinamen ändern nur die Basis und die Erweiterung der Datei, und Zitat-kapselt es für die Sicherheit zu verwenden:

echo.adb pull %source%/%%f "%destination%\%%~nxf" 

, die wahrscheinlich zu helfen ist.

Verwandte Themen