AutoIT Dateien umbenennen Counter

  • Hallo Community: Ich hab ein kleines Problem:

    Ich wollt ein Programm scripten,dass wenn im gleichen verzeichniss die datei 1.txt liegt, er die datei in 2.txt umbenennt und eine neue 1.txt macht. Dann soll er die 2.txt in 3.txt umbenennen und die 1.txt in 2.txt umbenennen und so weiter Ich hoffe ihr wisst was ich meine das ganze soll bis 150 gehen,also soll es 50 txt dateien geben:

    1.txt 2.txt 3.txt ...... ....... ...... ....... 50.txt

    Wie gesagt: Die ursprüngliche Datei darf auf keinen Fall gelöscht werden.

    Bisherige Veruche endeten darin,dass ich am schluss iene textdatei mit dem Wert 1,2,3,4,5......hatte.

    könntet ihr bitte den ganzen dafür benötigten code posten,ich brauchs echt.Ich bin nicht so gut in Autoit

    Wär echt nett.

    MFG,

    Kawnflexx :party:

  • Wie werden dir sicher nicht den Arm aus der Sonne legen!


    Und zeig doch mal den Code, mit dem du es bis jetzt probiert hast.
    Sorry, nicht gesehen, das wir hier nicht im H&Ü-Forum sind. :D

    Zitat

    Ich bin nicht so gut in Autoit

    Da würde ich dir mal empfehlen, dir die Beispiele aus der Hilfe anzuschauen und diverse andere (leichte) Sachen zu schreiben, wie z.B. einen einfachen Taschenrechnern und natürlich viel probieren. (Falls du auch wirklich AutoIt lernen willst.)

    Und es heißt >> AutoIt << ;)

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz

    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski

    3 Mal editiert, zuletzt von PainTain (3. Januar 2014 um 21:39)

  • Meine Interpretatinon der Fragestellung:
    Ein Ordner enthält keine, oder mehrere Dateien die linear per Index mit 1.txt -> n.txt beschriftet sind.
    Es wird eine Funktion benötigt die einen bestimmten Inhalt in die 1.txt packt und alle alten Dateien um 1 erhöht.

    Lösung:

    [autoit]

    For $i = 1 To 9 Step 1
    X('Ich wurde als ' & $i & 'tes geschrieben !')
    Next

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

    Func X($s, $i = 1, $x = 1) ; $s -> 1.txt | $i und $x NICHT benutzen !
    Return $x=1?FileExists($i&'.txt')?X($s,$i+1 _
    ,1):X($s,$i,0):$i>1?X($s,$i-1,FileMove($i-1 _
    &'.txt',$i&'.txt')*0):FileWrite('1.txt',$s)
    EndFunc

    [/autoit]

    Funktionsweise:
    1. Es wird die Anzahl Dateien ermittelt
    2. Es werden alle alten Dateien umbenannt
    3. Die neue Datei enthält den Inhalt der Variable $s und wird als 0.txt gespeichert.

    (Zum Test bitte einen Ordner erstellen, aktuelle Stable benutzen)

    Edit: Angepasst, dass die 1.txt als erste Datei genutzt wird.

    lg
    M

  • Es muss eine txt namens 1 schon existieren, da wo dein script ist.

    [autoit]

    HotKeySet("{F6}", "Start")
    HotKeySet("{F7}", "Close")

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

    if NOT FileExists(@Scriptdir & "\1.txt") Then
    MsgBox(16, "ERROR", "Es muss eine TXT Datei namens 1 im Ordner vom BOT sein.")
    Exit
    EndIf

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

    while 1
    Sleep(50)
    WEnd

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

    Func Start()

    For $i = 2 To 50 Step 1
    FileCopy(@ScriptDir & "\1.txt", @DESKTOPDIR & "" & $i & ".txt")
    Next
    MsgBox(64, "", "Fertig!")
    Exit

    EndFunc

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

    Func Close()
    Exit
    EndFunc

    [/autoit]

    Einmal editiert, zuletzt von sezer0012 (3. Januar 2014 um 22:16)