bat script

  • Allgemein

  • tsdler
  • 1068 Aufrufe 3 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Hallo
    ich habe hier eine Batch Datei, die folgendermaßen aussieht:

    Quellcode

    1. cd "C:\Windows\System32"
    2. xcopy /y iexpress.exe "C:\Users\*****\Desktop\Neuer Ordner"


    Wenn ich jetzt das Script mehrfach ausführe, wird die Datei iexpress.exe im Ordner "Neuer Ordner" nur überschrieben.
    Ich aber möchte erreichen, dass die Dateien immer umbenannt werden. Dass sollte nach 5maligem ausführen dann so aussehen:

    Quellcode

    1. iexpress.exe
    2. iexpress (1).exe
    3. iexpress (2).exe
    4. iexpress (2).exe
    5. iexpress (3).exe


    Ist dies möglich? Wenn ja, wie?;)
  • xcopy hat keine option mit der so etwas möglich währe... Ich kann dir im Moment keine Lösung geben, aber vielleicht einen Ansatz...

    Du könntest einfach immer vor dem xcopy aufruf den rename befehlt aufrufen.

    Um eine fortlaufende Nummer zu bekommen musst du irgendwie die anzahl von gleichnamigen dateien bekommen (vielleicht als einfacher dateiname?). Anhand der Nummer kannst du den rename string zusammenbauen. Ich bin mir relativ sicher das es irgendwie geht... Vermutlich würde ein kleines (C++ oder welche Sprache auch immer) Programm die selbe Aufgabe einfacher übernehmen :)

    Meine batch kenntnisse sind leider zu sehr eingerostet und ich hab im Moment keine große Lust und Zeit mir das wieder anzutun, aber vielleicht helfen dir meine Ideen ja schon weiter...

    Viel Spaß!
    Gruß Zerd

    *edit*

    ok ne kleine hilfe hab ich noch ;)
    um die anzahl für deine Dateinamen zu bekommen kannst du das benutzen

    Quellcode

    1. @echo off & setLocal EnableDelayedExpansion
    2. set N=
    3. for /f "tokens=* delims= " %%a in ('dir iexpress*.exe') do (
    4. set /a N+=1
    5. )
    6. echo !N! files


    In der variable N stehen dann die anzahl deiner vorhandenen iexpress.exe dateien.

    Damit musst du nurnoch den rename string zusammenbauen und die original iexpress.exe in iexpress (!N!).exe umbenennen. Dann kannst du xcopy ausführen und alles ist gut... :D
    [SIZE="1"]i'm a signature virus. copy me into your signature to help me spread. - smart questions[/SIZE]

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Zerd ()