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
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.2.3.6 (beta)
Author: myName
Script Function:
Kopiert alle Aufnahmen der Kamera (DCIM auf Fetplatte mit namen der Daten
#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]
;Hier wird Besitzer ermittelt
If FileExists($laufwerk & "\webpage\bookmarks\Thomas.txt") Then
$Name ="Thomas"
MsgBox(0,"Angeschlossendes Telefon",$Name)
EndIf
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 = ""
Next
[/autoit] [autoit][/autoit] [autoit];Beginn der Abarbeitung
If $file <> "" Then
$path = $laufwerk &"\DCIM\100MSDCF\" ;Pfad
;;msgbox(0, "", $laufwerk &"<---->"&$path)
$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)
$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
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)
;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
Else
msgbox(0, "", "Handy ist nicht angeschlossen!")
EndIf
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
;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)
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
Eventuel eine weitere funktion einbauen, nach dem alle Bilder durch sind?
Hoffe ihr könnt mir helfen
grüße