Nochmalige Probleme USB Lauwerke zu finden

  • Morgen;

    Das Thema baut hier darauf auf USB Laufwerk finden und Daten kopieren
    Also ich habe mir nun mal eine Speicherkarte gekauft, wenn ich das Telefon via USB verbinde habe ich nun 2!!! Laufwerke

    eins heißt "Phone"
    das andere "Phone Card"

    mein bisheriges Script findes nur das erste Laufwerk, das 2te wiederum bleibt ja logischerweiße aus.

    Gibt es eine Möglicheit das es wenn das erste abgearbeitet ist danach ein weiteres Laufwerk sucht, ohne in eine Endlosschleife zu gelangen?

    Hier mal mein Script, was mit paar extra Funktionen bestückt ist, diese jedoch noch nicht fertig sind

    Spoiler anzeigen
    [autoit]


    #cs ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    AutoIt Version: 3.2.3.6 (beta)
    Author: myName

    [/autoit] [autoit][/autoit] [autoit]

    Script Function:
    Kopiert alle Aufnahmen der Kamera (DCIM auf Fetplatte mit namen der Daten

    [/autoit] [autoit][/autoit] [autoit]

    #ce ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    ; Script Start - Add your code below here
    #include <GUIConstants.au3>
    #include "image_get_info.au3"
    #include <file.au3>
    $laufwerk = ""
    $file = ""

    ; Handy suchen
    $arDrives = DriveGetDrive("ALL")
    For $i = 1 To $arDrives[0]
    $strDriveType = DriveGetType($arDrives[$i])
    If $strDriveType = "CDROM" Or $strDriveType = "FIXED" Then ContinueLoop
    $laufwerk = $arDrives[$i]

    [/autoit] [autoit][/autoit] [autoit]

    ;Hier wird Besitzer ermittelt
    If FileExists($laufwerk & "\webpage\bookmarks\Thomas.txt") Then
    $Name ="Thomas"
    MsgBox(0,"Angeschlossendes Telefon",$Name)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If FileExists($laufwerk & "\webpage\bookmarks\Mutti.txt") Then
    $Name ="Mutti"
    MsgBox(0,"Angeschlossendes Telefon",$Name)
    EndIf

    If FileExists($laufwerk & "\webpage\bookmarks\Hans.txt") Then
    $Name ="Hans"
    MsgBox(0,"Angeschlossendes Telefon",$Name)
    EndIf

    If FileExists($laufwerk & "\webpage\bookmarks\Claudia.txt") Then
    $Name ="Claudia"
    MsgBox(0,"Angeschlossendes Telefon",$Name)
    EndIf

    if not FileExists($laufwerk & "\webpage\bookmarks\*.txt") Then
    Guiname()
    EndIf
    ;Ergebnis
    MsgBox(0,"",$laufwerk)
    MsgBox(0,"",$Name)
    $file = $laufwerk & "\webpage\bookmarks\"&$Name&".txt"
    If FileExists($file) Then ExitLoop
    $laufwerk = ""
    $file = ""

    [/autoit] [autoit][/autoit] [autoit]

    Next

    [/autoit] [autoit][/autoit] [autoit]

    ;Beginn der Abarbeitung
    If $file <> "" Then

    $path = $laufwerk &"\DCIM\100MSDCF\" ;Pfad
    ;;msgbox(0, "", $laufwerk &"<---->"&$path)

    [/autoit] [autoit][/autoit] [autoit]

    $FileList = _FileListToArray($path)
    If (Not IsArray($FileList)) and (@error = 1) Then
    ;msgbox(0, "", "No Files\Folders Found.")
    Exit
    EndIf
    $liste = "D:\liste.txt"
    _FileWriteFromArray($liste,$FileList)
    $dateiliste = FileOpen($liste,0)

    [/autoit] [autoit][/autoit] [autoit]

    $dest = @MyDocumentsDir&"\"&"Backup\Handy\"&$Name&"\DCIM\100MSDCF\"
    ; hier werden die bilder und videonamen geholt
    While 1
    $datei = FileReadLine($dateiliste)
    if @error = -1 Then
    $Zahl = FileReadLine($dateiliste,1)
    MsgBox(3,"Info","Alle Daten kopiert ( "&$Zahl&" Dateien). Sollen die Daten von Handy gelöscht werden")
    FileDelete("D:\Eigene Dateien\Backup\Handy\"&$Name&"\DCIM\100MSDCF\----...jpg")
    call("Loeschen")
    ExitLoop
    EndIf
    ;-------------------------------------------------------------------------
    $file = $path&$datei

    [/autoit] [autoit][/autoit] [autoit]

    If @error Then Exit
    $aInfo = _ImageGetInfo($file)
    If @error Then
    ;msgbox (0, "Error", "Can't open file.")
    Exit
    Endif
    ;msgbox(0,"",$file)
    ;Dies hier für die Bilder
    ; Holt hier das Datum der Aufnamhe
    $DatumR = _imagegetparam($Ainfo,"DateTime")
    $Datum = StringTrimRight($DatumR,9)
    $Tag = StringTrimLeft($Datum,8)
    $Monat = StringTrimLeft($Datum,5)
    $Monat = StringTrimRight($Monat,3)
    $Jahr = StringTrimRight($Datum,6)
    $UDatum = $jahr & "-" & $monat & "-" & $tag


    ;Holt hier Die Uhrzeit der Aufnahme
    $Stunde = StringTrimLeft($DatumR,11)
    $Stunde = StringTrimRight($Stunde,6)
    $Minute = StringTrimLeft($DatumR,14)
    $Minute = StringTrimRight($Minute,3)
    $Sekunde = StringTrimLeft($DatumR,17)
    $UZeit= $Stunde&"."&$Minute&"."&$Sekunde& "."
    $Zeitdatum = $UDatum&"--"&$UZeit
    ;msgbox(0,"Info",$Zeitdatum)
    $dest2= $dest&$Zeitdatum&"jpg"
    ;;msgbox(0,"",$file&"<--------<"&$dest2)
    ;_FileWriteLog("c:\test.txt",$file&"<--------<"&$dest2)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;msgbox(0,"",$file&"---"&$dest2)
    Filecopy($file,$dest2,9)
    If @error = 0 Then
    ;msgbox (0, "Error", "Fehler")
    Endif
    if StringInStr($dest2,"----") Then
    ;msgbox(0,"","Dumme DAtei")
    endif
    if StringInStr($file,"3GP")Then
    ;;msgbox(0,"","Video")

    ;Für Videos
    $t = FileGetTime($file, 1)
    If Not @error Then
    $t2 = $t[3]
    $t3 = $t2+"2";2Stunden für die Zeitzone hinzu
    $yyyymdsms = $t[0] & "-" & $t[1] & "-" & $t[2] & "--" & $t3 & "." & $t[4] & "." & $t[5]
    $dest3= $dest&$yyyymdsms&".3GP"
    FileCopy($file,$dest3,9)
    FileClose("c:\liste.txt")
    endif
    EndIf
    wend

    [/autoit] [autoit][/autoit] [autoit]

    Else
    msgbox(0, "", "Handy ist nicht angeschlossen!")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    func Loeschen()
    $dateiliste2 = FileOpen($liste,0)
    While 1
    $loeschen = FileReadLine($dateiliste2)
    if @error = -1 Then
    MsgBox(0,"Info","Alle Daten gelöscht")
    MsgBox(0,"Info","Fertig, Handy kann jetzt abgesteckt werden")
    ExitLoop
    EndIf
    $delete = $path&$loeschen
    ;MsgBox(0,"",$delete)
    FileDelete($delete)
    WEnd
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    ;Falls unbekantes Gerät auftaucht, noch nicht fertig
    Func Guiname()


    MsgBox(3,"Achtung","Konnte das Handy nicht identifizieren geben sie bitte den Namen des Besitzers an")

    GUICreate ("Hier Namen eintragen", 700,150)
    GUICtrlcreatelabel ("Hier den Namen eintragen",10,15)
    $nameL = GUICtrlCreateEdit ("", 180,15,500,20,0);noch werte rein
    $save = GUICtrlCreateButton (" Speichern", 200,120)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()
    If $msg <> 0 Then
    Select
    Case $msg = $save
    $Name = GUICtrlRead($NameL)
    MsgBox(0,"Name",$Name)
    $namensdatei = $laufwerk & "\webpage\bookmarks\"
    FileWriteLine("D:\"&$Name&".txt",$name)
    FileCopy("D:\"&$Name&".txt",$namensdatei)
    ExitLoop
    EndSelect
    EndIf
    wend
    endfunc

    [/autoit]

    Eventuel eine weitere funktion einbauen, nach dem alle Bilder durch sind?

    Hoffe ihr könnt mir helfen

    grüße