2014-06-14 8 views
5

Ich möchte den Screenshot in einem bestimmten Ordner auf meinem PC gespeichert speichern.adb Pull-Datei in einem bestimmten Ordner von PC

cmd = 'adb shell screencap -p /sdcard/screen.png' 
subprocess.Popen(cmd.split()) 
time.sleep(5) 
cmd ='adb pull /sdcard/screen.png screen.png' 
subprocess.Popen(cmd.split()) 

Dies funktioniert, wenn ich das Bild in meinem Arbeitsbereich möchte. Aber wenn ich den Screenshot in einen anderen Ordner ziehen möchte, funktioniert das nicht.

cmd ='adb pull /sdcard/screen.png C:\Users\xxx\Desktop\prova\screen.png' 
subprocess.Popen(cmd.split()) 

wenn ich den Befehl ausführen cmd ich habe: Android Debug Bridge Version 1.0.31

-d       - directs command to the only connected USB device 
           returns an error if more than one USB device is present. 
-e       - directs command to the only running emulator. 
           returns an error if more than one emulator is running. 
-s <specific device>   - directs command to the device or emulator with the given 
           serial number or qualifier. Overrides ANDROID_SERIAL 
           environment variable. 
-p <product name or path>  - simple product name like 'sooner', or 
           a relative/absolute path to a product 
           out directory like 'out/target/product/sooner'. 
           If -p is not specified, the ANDROID_PRODUCT_OUT 
           environment variable is used, which must 
           be an absolute path. 
devices [-l]     - list all connected devices 
           ('-l' will also list device qualifiers) 
connect <host>[:<port>]  - connect to a device via TCP/IP 
           Port 5555 is used by default if no port number is specified. 
disconnect [<host>[:<port>]] - disconnect from a TCP/IP device. 
           Port 5555 is used by default if no port number is specified. 
           Using this command with no additional arguments 
           will disconnect from all connected TCP/IP devices. 

device commands: 
    adb push <local> <remote> - copy file/dir to device 
    adb pull <remote> [<local>] - copy file/dir from device 
    adb sync [ <directory> ]  - copy host->device only if changed 
           (-l means list but don't copy) 
           (see 'adb help all') 
    adb shell     - run remote shell interactively 
    adb shell <command>   - run remote shell command 
    adb emu <command>   - run emulator console command 
    adb logcat [ <filter-spec> ] - View device log 
    adb forward <local> <remote> - forward socket connections 
           forward specs are one of: 
            tcp:<port> 
            localabstract:<unix domain socket name> 
            localreserved:<unix domain socket name> 
            localfilesystem:<unix domain socket name> 
            dev:<character device name> 
            jdwp:<process pid> (remote only) 
    adb jdwp      - list PIDs of processes hosting a JDWP transport 
    adb install [-l] [-r] [-s] [--algo <algorithm name> --key <hex-encoded key> --iv <hex-encoded iv>] <file> 
           - push this package file to the device and install it 
           ('-l' means forward-lock the app) 
           ('-r' means reinstall the app, keeping its data) 
           ('-s' means install on SD card instead of internal storage) 
           ('--algo', '--key', and '--iv' mean the file is encrypted already) 
    adb uninstall [-k] <package> - remove this app package from the device 
           ('-k' means keep the data and cache directories) 
    adb bugreport    - return all information from the device 
           that should be included in a bug report. 

    adb backup [-f <file>] [-apk|-noapk] [-shared|-noshared] [-all] [-system|-nosystem] [<packages...>] 
           - write an archive of the device's data to <file>. 
           If no -f option is supplied then the data is written 
           to "backup.ab" in the current directory. 
           (-apk|-noapk enable/disable backup of the .apks themselves 
            in the archive; the default is noapk.) 
           (-shared|-noshared enable/disable backup of the device's 
            shared storage/SD card contents; the default is noshared.) 
           (-all means to back up all installed applications) 
           (-system|-nosystem toggles whether -all automatically includes 
            system applications; the default is to include system apps) 
           (<packages...> is the list of applications to be backed up. If 
            the -all or -shared flags are passed, then the package 
            list is optional. Applications explicitly given on the 
            command line will be included even if -nosystem would 
            ordinarily cause them to be omitted.) 

    adb restore <file>   - restore device contents from the <file> backup archive 

    adb help      - show this help message 
    adb version     - show version num 

scripting: 
    adb wait-for-device   - block until device is online 
    adb start-server    - ensure that there is a server running 
    adb kill-server    - kill the server if it is running 
    adb get-state    - prints: offline | bootloader | device 
    adb get-serialno    - prints: <serial-number> 
    adb get-devpath    - prints: <device-path> 
    adb status-window   - continuously print device status for a specified device 
    adb remount     - remounts the /system partition on the device read-write 
    adb reboot [bootloader|recovery] - reboots the device, optionally into the bootloader or recovery program 
    adb reboot-bootloader  - reboots the device into the bootloader 
    adb root      - restarts the adbd daemon with root permissions 
    adb usb      - restarts the adbd daemon listening on USB 
    adb tcpip <port>    - restarts the adbd daemon listening on TCP on the specified port 
networking: 
    adb ppp <tty> [parameters] - Run PPP over USB. 
Note: you should not automatically start a PPP connection. 
<tty> refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1 
[parameters] - Eg. defaultroute debug dump local notty usepeerdns 

adb sync notes: adb sync [ <directory> ] 
    <localdir> can be interpreted in several ways: 

    - If <directory> is not specified, both /system and /data partitions will be updated. 

    - If it is "system" or "data", only the corresponding partition 
    is updated. 

environmental variables: 
    ADB_TRACE     - Print debug information. A comma separated list of the following values 
           1 or all, adb, sockets, packets, rwx, usb, sync, sysdeps, transport, jdwp 
    ANDROID_SERIAL    - The serial number to connect to. -s takes priority over this if given. 
    ANDROID_LOG_TAGS    - When used with the logcat option, only these debug tags are printed. 

Was kann ich tun?

Antwort

10

Verwenden Sie immer doppelte Anführungszeichen ("") für lokale Pfade. verwenden Sie es wie folgt aus:

cmd = "adb pull /sdcard/screen.png \"C:\\Users\\xxx\\Desktop\\prova\\screen.png\""; 
+0

vielen dank ... –

1

Schreiben Sie den Dateinamen nicht in den Zielpfad.

Schreib in bestimmten Befehl wie folgt aus:

adb Pull

zum Beispiel:

adb Zug-/sdcard/Bilder c:/users/intel1/Desktop/newfolder

-1

Diese Version ist für mich

adb Pull /sdcard/demo.mp4 gearbeitet "C: \ Benutzer \ xxxxxxx \ Desktop"

Der eine von @MDP tat nicht weil alle diese Doppelstriche unnötig waren.