- Offizieller Beitrag
Hi,
laß dir mal die Pfade und den returnwert ausgeben, vielleicht ist da ja das Problem.
So long,
Mega
Hi,
laß dir mal die Pfade und den returnwert ausgeben, vielleicht ist da ja das Problem.
So long,
Mega
die pfade passen, und returnwert ist halt 0 für fehler, hatte ich doch in den script schon drinnen, oder meinst du es anders?
danke
grüße
Hi,
ich meinte es muss ja einen Grund geben, warum es nicht geht. Du solltest mal die Pfade die du dir per MsgBox ausgeben läßt posten, vielleicht liegt da das Problem. Ansonsten müsste man mal das gesamte Skript begutachten.
So long,
Mega
[SIZE=5]
scheut so aus, anhand der ersten 1 datei
2007-05-25 20:45:36 : k:\DCIM\100MSDCF\DSC00013.JPG<--------<D:\Eigene Dateien\Backup\Handy\Thomas\DCIM\100MSDCF\2007-05-23<-->08.51.06.jpg
EDIT ich habs gefunden, hatte nicht daran gedacht das <> nicht erlaubt sind
man vor einer stunde lief es noch, dann rechner abgekackt , nun jetzt kopierter keine Videos mehr, 'Bilder gehen einwandfrei
filegettime gibt leider einen Fehler aus weiß aber nicht warum , da der pfad zu datei passt.
hier mal das script
die variable $name = wird später noch behandelt, erstmal muss es laufen^
#include "image_get_info.au3"
#include <file.au3>
$name = "Mutti"
$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]
$file = $laufwerk & "\webpage\bookmarks\Sony Ericsson.url"
If FileExists($file) Then ExitLoop
$laufwerk = ""
$file = ""
Next
;if FileExists($laufwerk&"webpage\bookmarks\Thomas.txt") Then
; MsgBox(0,"",$laufwerk&"\webpage\bookmarks\Thomas.txt")
; thomas()
; MsgBox(0,"",$Name)
; EndIf
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
MsgBox(0,"Info","Alle Daten kopiert")
FileDelete("D:\Eigene Dateien\Backup\Handy\"&$Name&"\DCIM\100MSDCF\----...jpg")
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)
FileMove($file,$dest2,9)
If @error = 0 Then
;msgbox (0, "Error", "Fehler")
Endif
msgbox(0,"",$file)
if StringInStr($dest2,"----") Then
msgbox(0,"","Dumme DAtei")
endif
if StringInStr($file,".3gp")Then
msgbox(0,"","Video")
msgbox(0,"",$file)
;Für Videos
$t = FileGetTime($file, 1)
If Not @error Then
$t2 = $t[3]
$t3 = $t2+"2"
$yyyymdsms = $t[0] & "." & $t[1] & "." & $t[2] & "---" & $t3 & "." & $t[4] & "." & $t[5]
msgbox(0, "Creation date of File", $yyyymdsms)
MsgBox(0,"",$dest&"----"&$yyyymdsms)
$dest3= $dest&$yyyymdsms&".3gp"
MsgBox(0,"",$dest3)
msgbox(0,"",$file&"-------"&$dest3)
FileCopy($file,$dest3,9)
endif
EndIf
wend
;von Zeile 32
Else
msgbox(0, "", "Handy ist nicht angeschlossen!")
EndIf
[/SIZE]
----------------------------
Hallo ich arbeite mal wieder an meinen Script weiter, wollte jetzt noch einige Funktionen einbauen
Eine davon wäre ein Fortschritssbalken, es gibt zwar einige Funktionen hier( im Board)
aber nichts was mir hilft
Ich bräuchte eine Funtion was mir den Fortschrit des Filereadline ausgibt
den dort sind die Pfade drinnen, hier nochmal das Script
#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)
$result = 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"
$result = 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
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
Wie ihr seht wird der Filecopy Befehl nun halt öfters aufgerufen,halt für jede Zeile die der Befehl Filereadline ausgibt, deswegen wäre dort ein Balken Nutzlos
hast du eine Idde?
eine 2te Frage wäre
am Ende des Scriptkomt ja die Frage ob die Daten gelöscht werden sollen, zu Auswahl steht halt "JA" "Nein=Abbruch"
Wie erreiche ich das bei Nein und Abbruch keine Daten gelöscht werden?
das 3 wäre hier zu finden