it-fisi
Goto Top

Wie Device name in Variable einfügen

Hallo,

ich möchte per Batch file mit ADB auf mein Android Handy zugreifen. Zur Prüfung ob die Verbindung besteht benutze ich den Befehl adb devices
dieser Befehl gibt mir ein Device Name am Bildschirm aus. z.B. 479c4b7d
Diese String möchte ich in eine Variable schreiben lassen (habe mehrere Handys)

Nur wenn ein device name gefunden wurde soll der batch weiter gehen

Ein Teil von meinem Batch sieht so aus

:Prufung
cls
echo.
set /a loop=%loop%+1
echo Prufung %loop%
set started=%errorlevel%
if %loop%==5 goto fehler

adb devices (dieser Befehl gibt ein Gerätename auf dem Display aus und diesen Gerätename brauche ich in eine Variable
um damit weiter zu arbeiten )

if exist ? ? ? \nul goto syn
echo.
echo Kein Gerät gefunden
echo Bitte Verbindung prufen
if %started%==0 pause & goto Prufung

Wer kann mir helfen ...
Wie bringe ich diesen device-string in eine Variable, wie ist der Befehl dazu ?

vielen Dank für eure Hilfe


Grüsse Pepe

Content-Key: 243412

Url: https://administrator.de/contentid/243412

Printed on: April 16, 2024 at 06:04 o'clock

Member: colinardo
colinardo Jul 11, 2014 updated at 12:46:04 (UTC)
Goto Top
Hallo Pepe,
poste mal eine beispielhafte komplette Ausgabe des Befehls, aber bitte mit Code-Tags für deinen Quellcode: <code> Quellcode </code>.

wenn das Device z.B. in der Ausgabe in der zweiten Zeile der Ausgabe steht, ginge dies so:
for /f "skip=1 tokens=* delims=" %%a in ('adb devices -l') DO set device=%%a
du kannst aber auch alternativ direkt prüfen ob ein bestimmtes Device attached ist:
adb devices -l | findstr /i "479c4b7d" && echo "Device XYZ ist verbunden"
Grüße Uwe
Member: it-fisi
it-fisi Jul 11, 2014 at 13:00:41 (UTC)
Goto Top
Hallo

habe jetzt erst suchen müssen wie ich antworten kann, Vielleicht habe ich aus versehen ein GELÖST geklickt ... was noch nicht stimmt
meinst du so was ?

@echo off
echo.
title ADB Menu
color 1F

echo.
set "path=%path%;D:\Install\Android SDK\android\platform-tools"  
set /a loop=0
set variable= ???


:wahl
cls
echo.
echo.
echo.
echo                         ADB-Skript fr Android   
echo           ===============================
echo.
echo   [1] Verbindung zum Gerät testen

echo   [2] Synchronisieren Fotos zu PC
echo   [3] Konsole starten
echo.
echo   [4] Push
echo   [5] Pull
echo.
echo   [6] mehr
echo   [7] mehr
echo   [8] Explorer  starten
echo.
echo   [9] Exit - Abbruch
echo.
echo.


set asw=0
set /p asw="Bitte Auswahl 1-9 eingeben: "  

if %asw%==1 goto prfung
if %asw%==2 goto syn
if %asw%==3 goto kon
if %asw%==4 goto push
if %asw%==5 goto pull
if %asw%==6 goto 
if %asw%==7 goto 
if %asw%==8 goto exp
if %asw%==9 goto end

goto end


:Prfung
cls
echo.
set /a loop=%loop%+1
echo Prfung %loop%
set started=%errorlevel%
if %loop%==5 goto fehler
adb devices
if exist xxx \nul goto syn
echo.
echo Kein Gerät gefunden
echo Bitte Verbindung prfen
if %started%==0 pause & goto Prfung



:syn
cls
echo.
echo TipTop - Android Gerät gefunden ...
echo 
echo.
echo Ready for take off ...
timeout /T 3 >NUL
echo.
echo.
adb sync  blabla.... kommt noch
echo.
@echo 
echo Sicherung abgeschlossen ...
echo.
goto Bericht

:kon
cls
echo.Konsole gestartet
echo.
cmd.exe
cls
goto end

:fehler
cls
echo.
echo SORRY - jetzt reicht es aber.
echo max. Anzahl der Versuche wurde erreicht.
echo Gerät nicht angeschlossen oder falsche
echo Einstellungen gewählt.
timeout /T 5 >NUL
goto end


:nix
cls
echo.
echo Bitte Synchronisierung kontrollieren !
timeout /T 5 >NUL
exit


:end
exit


Die Ausgabe im DOS Fenster sieht so aus

List of devices attached
479b3f5d device (ca. 8 Leerzeichen zwischen Device name und dem Wort device, ist aber unterschiedlich je nach Gerät)


wo muss ich die Variable deklarieren (oben) ?

Danke erst mal
Member: colinardo
colinardo Jul 11, 2014 updated at 13:07:56 (UTC)
Goto Top
List of devices attached
479b3f5d device (ca. 8 Leerzeichen zwischen Device name und dem Wort device, ist aber unterschiedlich je nach Gerät)
in dem Fall so:
for /f "skip=1 tokens=1 delims= " %%a in ('adb devices -l') DO set device=%%a
Das Device steht dann in diesem Beispiel in der Variablen device, mit der du dann weiterarbeiten kannst.
Member: it-fisi
it-fisi Jul 11, 2014 at 13:24:41 (UTC)
Goto Top
Danke für die Syntax

@echo off
echo.
title ADB Menu
color 1F

echo.
set "path=%path%;D:\Install\Android SDK\android\platform-tools"  
set /a loop=0
for /f "skip=1 tokens=1 delims= " %%a in ('adb devices -l') DO set device=%%a  


:wahl
cls
echo.
echo.
echo.
echo                   ADB-Skript fr Android   
echo           ===============================
echo.
echo   [1] Verbindung zum Handy testen

echo   [2] Synchronisieren Fotos zu PC
echo   [3] PULL  Datei von Handy zu PC
echo   [4] PUSH  Datei von PC zu Handy
echo   [5] frei
echo.
echo   [6] Konsole  starten
echo   [7] Explorer starten
echo   [8] Logfile  öffnen
echo.
echo   [9] Exit - Abbruch
echo.
echo.


set asw=0
set /p asw="Bitte Auswahl 1-9 eingeben: "  

if %asw%==1 goto prfung
if %asw%==2 goto syn
if %asw%==3 goto kon
if %asw%==4 goto fotusb
if %asw%==5 goto fotdisk
if %asw%==6 goto Bericht
if %asw%==7 goto restore
if %asw%==8 goto exp
if %asw%==9 goto end

goto END




:Prfung
cls
echo.
set /a loop=%loop%+1
echo Prfung %loop%
set started=%errorlevel%
if %loop%==5 goto fehler
adb devices
if exist %device%\nul goto syn
echo.
echo Kein Gerät gefunden
echo Bitte Verbindung prfen
if %started%==0 pause & goto Prfung

kann ich das FOR oben in diee Batch schreiben ?
und bei IF EXIST dann die Variable %device% ?

es wird der device name gefunden und angezeigt springt aber nicht weiter zu :syn
Member: colinardo
colinardo Jul 11, 2014 updated at 18:09:32 (UTC)
Goto Top
kann ich das FOR oben in diee Batch schreiben ?
sicher ...
set device=
for /f "skip=1 tokens=1 delims= " %%a in ('adb devices -l') DO set device=%%a  
if defined device goto syn
Member: it-fisi
it-fisi Jul 11, 2014 at 14:01:07 (UTC)
Goto Top
Hallo Uwe,

vielen Dank - funktioniert alles - super !

habe das Script so weit schon geschrieben mit hat nur deine Hilfe mit der Variable gefehlt, Bin da einfach nicht weiter gekommen.

Schönes Wochenede

Grüsse Pepe