1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. taucher_2006

Beiträge von taucher_2006

  • TXT zusammen mit Fehler

    • taucher_2006
    • 11. Januar 2008 um 14:34

    Hi,
    ich möchte gerne 100 und mehr txt Dateien mit jeweils 30000Zeilen zu einer machen. Soweit gut bis zu dieser Fehlermeldung

    C:\Programme\AutoIt3\Include\zum testen.au3 (50) : ==> Unable to open file, the maximum number of open files has been exceeded.:
    FileWrite($sammlung, FileRead(FileOpen("C:\Test" & "\" & $FileList[$i], 0)))

    wie kann ich das Ändern?

    Taucher

    Spoiler anzeigen
    [autoit]


    #include'file.au3'
    #include'Array.au3'
    #include'Date.au3'
    #include'String'
    zusammen()
    Func _zusammen()
    Global $FileList = _FileListToArray("C:\test\", "*.txt", 1) ; Dateiende wählen
    _ArrayDisplay($FileList, "")
    ;
    Global $sammlung = FileOpen("C:\Test" & "\" & _Now() & ".txt", 1);Datei zum schreiben
    ;
    For $i = 1 To UBound($FileList) - 1
    FileWrite($sammlung, FileRead(FileOpen("C:\Adtg\Test" & "\" & $FileList[$i], 0)))
    sleep(2500)
    FileClose($sammlung)
    sleep(2500)
    Next
    EndFunc ;==>_zusammen

    [/autoit]
  • Erfolg bei FileMove

    • taucher_2006
    • 29. Dezember 2007 um 13:46

    hi,

    so nun ist es zweimal nachts gelaufen. Einmal ging es mit FileCopy gut und einmal ging es schief. Was mir noch aufgefallen ist das ich in meinem Script es so stehen habe

    [autoit]

    FileMove("D:\Backup\*.*", "T:\Datensicherung\", 1) = 1

    [/autoit]

    damit habe ich eine Kopierzeit von gut 60 min. Wenn ich es so Ändere

    [autoit]

    FileMove("D:\Backup\*.fbk", "T:\Datensicherung\", 1) = 1

    [/autoit]

    reduziert sich die Zeit auf ca.15 min. Woran liegt es ? In diesem Ordner liegen nur Dateien die die Endung .fbk haben.
    Hat wer noch ne Idee was man Ändern kann?

    MFG Taucher ;(

  • Erfolg bei FileMove

    • taucher_2006
    • 27. Dezember 2007 um 13:32

    hi,

    gut ich versuche es heute Abend mal erst mit FileCopy.

    peethebee
    Beim FIleMove hatte es den Anschein, das gleich die gesamte Größe angezeigt wird. Jedenfalls wenn man mit den Windowsmitteln das beobachten möchte. In meinem Fall ist die erste Datei ca 2,09 GB groß. Dieses wird sofort auf der Kopierenden Seite sowie auf der Einfügenden Seite angezeigt. Wie sollen dann FileGetSize funktionieren. Kannst du ein Beispiel zeigen was das AdlibEnable genau veranstaltet?

    [autoit]

    If Not FileExists($FTP) Then
    DriveMapAdd("T:", "\\Server\Backup")
    MsgBox(64, "Laufwerk", "Es wurde " & $FTP & " verbunden", 10)
    EndIf
    ;
    If FileExists("D:\Backup\" & "*.fbk") Then
    $begin = TimerInit()
    If FileMove("D:\Backup\*.*", "T:\Datensicherung\", 1) = 1 Then
    $dif = TimerDiff($begin)
    $dif = $dif / 60000
    FileWriteLine($PROTFILE, "Die erstellte Datensicherung wurde in " & Round($dif, 1) & " Minuten verschoben" & @CRLF)
    Sleep(1500)
    _mail()
    Sleep(2500)
    Else
    _Hinweis()
    ProcessClose("fin.exe")
    EndIf
    EndIf

    [/autoit]


    Das Script steuert ein anders Programm.
    Taucher

  • Erfolg bei FileMove

    • taucher_2006
    • 27. Dezember 2007 um 10:40

    hi,

    sorry habe ich hier beim schreiben vergessen das "\" ist drinnen

    taucher

  • Erfolg bei FileMove

    • taucher_2006
    • 27. Dezember 2007 um 10:18

    hi,

    in meinem Script habe ich ein FileMove drin. Damit werden drei bis vier Dateien mit einer Gesamtgröße von ca. 6-8 GB von einem Server zum anderen Server verschoben. (1GB/s Anbindung). Das FileMove läuft hierbei sehr langsam ca. 1h. Damit das Script danach noch eine abschließende Func ausführen kann habe ich das FileMove so aufgebaut.

    [autoit]

    If FileMove("D:\Backup\*.*", "T:\Datensicherung", 1) = 1 Then

    [/autoit]


    Doch leider ist das Script schon früher beendet bevor Filemove den Erfolg meldet. Auch kommt es vor das der erfolg "eigentlich "gemeldet wird aber die anschliessende Func nicht kommt. Woran liegt es?

    Mfg Taucher ;(

  • FileMOve

    • taucher_2006
    • 30. November 2007 um 22:44

    hi,

    da ich noch nicht viel damit gearbeitet habe muss ich Fragen
    so?

    [autoit]

    FileMove("C:\Dokumente und Einstellungen\thomasb\Eigene Dateien\Download\download.rar","C:\")
    Return 1

    [/autoit]


    Taucher

  • FileMOve

    • taucher_2006
    • 30. November 2007 um 22:31

    hi,

    dumme Frage wie kann ich ermittel wann FileMove mit dem verschieben fertig ist, damit der Rest des Scripts weitergeht. Es werden ca. 7 GB verschoben

    Taucher

  • TXT Datei und Ordner

    • taucher_2006
    • 28. November 2007 um 11:09

    hi,

    kann mir wer hier helfen.

    Taucher_2006

  • TXT Datei und Ordner

    • taucher_2006
    • 25. November 2007 um 18:18

    hi,
    ja die Namen sind immer gleichlang da sie so von einem System ausgegeben werden.
    Beispiel:

    TB0000 25.11.07.csv
    und die TXT sieht so aus
    TB0000;mail@mai.com

    Das Ergebniss soll sein
    TB0000;Pfad\TB0000 25.11.07.csv;mail@mail.com

    Taucher

    Kann mir wer helfen?

  • TXT Datei und Ordner

    • taucher_2006
    • 25. November 2007 um 17:39

    Hi,

    habe da ein kleine Frage ich benötige eine Zuordnung von Inhalt aus eine TXT Datei zum Ordnerinhalt. D.h. in der Txt steht ein Name und ein MailAdresse. So z.B.
    <Name>;<MailAdresse>
    im Ordner haben die Dateien folgen Namenaufbau <Name><Datum>.csv.
    Ich möchte das nach dem Namen beides verglichen wird und in eine Datei geschrieben wird.
    Mit dem Aufbau
    <Name>;<Dateiname>;<Mailadresse>
    zur weiteren arbeit.
    Mein Ansatz

    Spoiler anzeigen
    [autoit]

    #include <File.au3>
    #include <Array.au3>
    #include <date.au3>
    #include <String.au3>
    ;
    Dim $ADRESSE
    $pfad = "C:\Rechnungslauf\2007\Auslagerung\Adresse.txt"
    ;
    _FileReadToArray($pfad, $ADRESSE)
    If @error = 1 Then
    MsgBox(0, "", "No Files\Folders Found.")
    Exit
    EndIf
    ;
    $file = FileOpen("C:\Thomas\Ordnerliste.txt", 1)
    $FileList = _FileListToArray("C:\Rechnungslauf\2007\Auslagerung\LOG\", "*.csv", 1)
    If @error = 1 Then
    MsgBox(0, "", "No Files\Folders Found.")
    Exit
    EndIf
    If IsArray($FileList) Then
    For $i = 1 To UBound($FileList) - 1
    If StringLeft($FileList[$i], 6) = StringLeft($ADRESSE[$i], 6) Then
    FileWriteLine($file, StringLeft($ADRESSE[$i], 6) & ";" & "C:\Rechnungslauf\2007\Auslagerung\LOG\" & $FileList[$i] & ";" & StringMid($ADRESSE[$i], 8) & @CRLF)
    EndIf
    Next
    EndIf

    [/autoit]

    Wie bekomme ich den Vergleich richtig hin. Hier happertes bei mir.

    MFG Taucher_2006

  • große TXT (800MB) splitten?

    • taucher_2006
    • 25. November 2007 um 10:10

    hi,

    ich hatte ein ähnlich gelagertes Problem. Da konnt mir Bernd gut helfen. Versuch es mal mit seiner Func.

    Spoiler anzeigen
    [autoit]

    #include <File.au3>

    Const $nMaxZeilen = 100 ; Maximale Anzahl Zeilen je Teil

    $szFilename = "out.txt"

    $cLines = _FileCountLines($szFileName)

    If $cLines > 0 Then
    $nTeile = Round($cLines / 100) ; Anzahl der Teile berechnen
    Dim $aszParam[$nTeile]

    ; erst mal Anzahl Teile - 1 lesen
    For $index = 0 To $nTeile - 2
    $aszParam[$index] = FileReadLine($szFileName,$index*$nMaxZeilen+1) & ".." & FileReadLine($szFileName,($index+1)*$nMaxZeilen)
    Next

    ; und jetzt den letzten Teil lesen
    $aszParam[$nTeile-1] = FileReadLine($szFileName,($nTeile-1)*$nMaxZeilen+1) & ".." & FileReadLine($szFileName,$cLines)

    $szOutput = ""
    For $index = 0 To $nTeile-1
    $szOutput &= $index+1 & ". Teil: " & $aszParam[$index] & @CRLF
    Next

    MsgBox(0, "", $szOutput)
    EndIf

    [/autoit]


    mfg Taucher_2006

  • Ich verzweifle

    • taucher_2006
    • 8. November 2007 um 12:59

    hi,

    ne dann möchte er garnicht mehr schreiben

    Taucher

  • Ich verzweifle

    • taucher_2006
    • 8. November 2007 um 12:39

    hi,

    ich verzweifle, dabei scheint es doch recht simpel zu sein. Was kann ich ändern, dmit das aufhört? Was geschiet
    Eigentlich will ich nur zwei txt Dateien mit gleichem Satzaufbau ineinander schreiben. Doch bei der letzten Zeile der ersten Datei wird kein Zeilenumbruch erzeugt. Die Augangsdatei1 sieht so aus
    0000123456;D12345
    0000123457;D12346 usw.
    die Datei zwei ist identisch.
    Beim zusammenschreiben kommt dann an einer Zeile das raus
    0000123456;D123450000123458;D12347
    Wo liegt mein Fehler?

    Thx Taucher

    Spoiler anzeigen
    [autoit]

    Include <File.au3>
    #Include <Array.au3>

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

    Global $FileList = _FileListToArray("R:\" & @YEAR & "\Auslagerung\Log\", StringFormat("%02d", @MON - 1) & "_EVN.txt", 1)

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

    Global $sammlung = FileOpen("R:\" & @YEAR & "\Auslagerung\Log\" & StringFormat("%02d", @MON - 1) & "_Mail.txt", 1 & @CRLF)

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

    For $i = 1 To UBound($FileList) - 1
    FileWrite($sammlung, FileRead(FileOpen("R:\" & @YEAR & "\Auslagerung\Log" & "\" & $FileList[$i], 0)))
    Next

    [/autoit]
  • txt Dateien in einder kopieren

    • taucher_2006
    • 15. Oktober 2007 um 20:50

    hi,
    danke hatte ein Zeichen vergessen
    Taucher

  • txt Dateien in einder kopieren

    • taucher_2006
    • 15. Oktober 2007 um 20:41

    hi,

    nach langem muss ich das Script nochmals etwas anpassen und habe irgendwie ein Brett vor dem Kopf.
    Ausgangsdatei z.b. so
    1
    2
    3
    und
    4
    5
    6
    Enddatei
    1
    2
    34 ==> hier das Problem
    5
    wie bekommt man hier einen einmaligen Zeilenumbruch hin? Aber bitte nicht gleich schlagen!!!!

    Taucher

  • Ordner und txt vergleichen

    • taucher_2006
    • 2. Oktober 2007 um 13:39

    hi,

    jetzt bin ich endgültig am verzweifeln. mit dem Script wird ja die in einem Ordner befindlichen pdf Dateien (mit dem Namenaufbau D10000_0000623547_200708.pdf) mit einer der txt Datei (Inhalt 0000623547;D10000) abgeglichen und die im Ordner fehlenden RE Nummern ausgegeben. Soweit so gut nun habe ich aber zwei Dateien. Augenscheinlich haben beide den selben Satzaufbau.(siehe Anhang) bei der einen klappt die Ausgabe ohne größere Problemen. Doch bei der zweite macht er völligen Quatsch (siehe Anhang) kann mir jemand sagen woran das liegt. Sicher ist das Script noch verbesserungsfähig.

    Mfg Taucher

    Edit: Habe nochmal ein ArrayD. eingebaut und gesehen das schon beim einlesen in das zweite Array zum Fehler kommt siehe Code. kann mir jemand sagen warum das so ist?

    Spoiler anzeigen
    [autoit]

    #include <date.au3>
    #include <misc.au3>
    #include <inet.au3>
    #include <file.au3>
    #include <array.au3>

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

    Const $nTeile = 30
    Global $szCompareText, $aszFileList
    Global $szOutFile = "C:\Rechnungslauf\" & @YEAR & "\Auslagerung\Log\" & StringFormat("%02d", @MON - 1) &"_Mail_erneut.txt", $lines_A
    Global $szOutFile1 = "C:\Rechnungslauf\" & @YEAR & "\Auslagerung\Log\" & StringFormat("%02d", @MON - 1) &"_EVN_erneut.txt", $lines_A

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

    $Druck = "C:\Rechnungslauf\" & @YEAR & "\Auslagerung\Log\" & StringFormat("%02d", @MON - 1) &"_Mail.txt"
    $Druck2 = "C:\Rechnungslauf\" & @YEAR & "\Auslagerung\Log\" & StringFormat("%02d", @MON - 1) &"_EVN.txt"
    $DruckTB = "C:\Rechnungslauf\" & @YEAR & "\Auslagerung\Log\" & StringFormat("%02d", @MON - 1) &"_Mail_kurz.txt"
    $DruckTB1 = "C:\Rechnungslauf\" & @YEAR & "\Auslagerung\Log\" & StringFormat("%02d", @MON - 1) &"_EVN_kurz.txt"

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

    ;FileMove($Druck, $Druck2, 1)

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

    _Vergleich_RE_Datei_und_RE_Ordner()

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

    Func _Vergleich_RE_Datei_und_RE_Ordner()
    If FileExists($Druck) Then
    _FileReadToArray($Druck, $string)
    $string1 = _ArrayTrim( $string, 7,1)
    _FileWriteFromArray($DruckTB, $string1, 1)
    $szCompareText = FileRead($Druck)
    If FileExists($szOutFile) Then
    FileDelete($szOutFile)
    EndIf
    EndIf
    $aszFileList = _FileListToArray("C:\EVNVersand\pdf\", "*.pdf", 1)
    If IsArray($aszFileList) Then
    For $cIndex = 1 To $aszFileList[0]
    $szCompareText = StringRegExpReplace($szCompareText, StringMid($aszFileList[$cIndex], 8, 10), "")
    Next
    $szCompareText = StringRegExpReplace($szCompareText, "\n\r\s*", "") ; Leerzeilen entfernen
    EndIf
    MsgBox(0,"",StringRight($szCompareText,7))
    ;
    If $szCompareText > 0 Then
    $hFile = FileOpen($szOutFile, 2)
    FileWrite($hFile, $szCompareText)
    FileClose($hFile)
    EndIf
    Sleep(5000)
    ;hier kommt schon der Fehler beim Einlesen, das die Zeilenumbrüche nicht richtig erkannt werden *Nachtrag von Taucher*
    _FileReadToArray($szOutFile,$lines_A)
    For $i = UBound($lines_A) - 1 To 1 Step - 1
    If Not StringRegExp($lines_A[$i], '[^\s]', 0) Then _ArrayDelete($lines_A, $i)
    Next
    _ArrayDisplay($lines_A,"")
    _FileWriteFromArray($szOutFile, $lines_A, 1)
    EndFunc ;==>_Mail

    [/autoit]

    Dateien

    08_EVN.txt 8,62 kB – 354 Downloads 08_Mail.txt 16,93 kB – 328 Downloads jpg.jpg 62,87 kB – 0 Downloads
  • Ordner und txt vergleichen

    • taucher_2006
    • 1. Oktober 2007 um 16:55

    hi,

    ich weis nicht was gesehen ist aber irgendwie bekomme ich schreiben der Ausgabedatei eine Leerzeile rein. D.h. auf Zeile 1 steht dann nichts.

    [autoit]

    #include <file.au3>

    ;~ Opt("TrayIconDebug", 1)

    Global $szCompareText, $aszFileList
    Global $szOutFile = "c:\Taucher\taucher.prob"

    If FileExists("C:\Taucher\mappe1.txt") Then
    $szCompareText = FileRead("C:\Taucher\mappe1.txt")
    EndIf

    ; Kontrollausgabe
    Msgbox(0,"",$szCompareText)

    ; Nur PDF-Dateien einlesen
    $aszFileList = _FileListToArray("C:\Taucher\EVN\PDF\", "*.pdf", 1)

    If IsArray($aszFileList) Then
    For $cIndex = 1 To $aszFileList[0]
    $szCompareText = StringRegExpReplace($szCompareText, StringMid($aszFileList[$cIndex], 8, 10), "")
    Next
    $szCompareText = StringRegExpReplace($szCompareText, "\n\r\s*", "") ; Leerzeilen entfernen
    EndIf

    ; Kontrollausgabe
    Msgbox(0,"",$szCompareText)

    $hFile = FileOpen($szOutFile,2)
    FileWrite($hFile,$szCompareText)
    FileClose($hFile)

    [/autoit]

    wie kann ich das Ändern?

    Taucher

  • Email senden.

    • taucher_2006
    • 16. September 2007 um 18:51

    hi,

    versuche mal das hier. musst nur etwas anpassen mit dem aus deine GUI. Grundsätzlich ist es möglich.

    Spoiler anzeigen
    [autoit]

    #include <inet.au3>

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

    Func _badmail();Outlook Fehlermail
    $Address= ("xxx@xx.de ");hier Adresse
    $Subject= ("");hier Betreff
    $Body = ("");Body
    If $PID Then
    _INetMail($address, $subject, $Body)
    Sleep(5000)
    Send("!s")
    Else
    Run($Outlook2003)
    WinWaitActive("Posteingang - Microsoft Outlook")
    _INetMail($address, $subject, $Body)
    Sleep(5000)
    Send("!s")
    Sleep(1500)
    Send("!{F4}")
    EndIf
    EndFunc

    [/autoit]

    mfg taucher

  • WinWait auf einen Prozess bis CPU-Auslastung 0%

    • taucher_2006
    • 15. August 2007 um 20:08

    Nach einem Boot ist alle wieder gut. Es geht weis der Geier was mein Rechner hatte. Nun muss ich es nur hinbekommen das die Überwachung des Programmes geht, damit das WinWait richtig geht. Es soll ja weiter gemacht werden wenn das Programm die CPU mit 0% belastet.

    Taucher :evil:

  • WinWait auf einen Prozess bis CPU-Auslastung 0%

    • taucher_2006
    • 15. August 2007 um 17:10

    hi,

    ja ich weis nicht weiter. Habe auch firefox genommen und das EXITLOOP raus genommen aber nichts.
    :weinen:
    Taucher

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™