mit Batch-Datei Files umbenennen?

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Pate, 19. März 2006 .

  1. 19. März 2006
    hallo,
    ich würde mal gerne wissen, ob folgende funktionen mit einer batch möglich wären:

    man hat viele files im ordner d:\test\ (z.b.: test1.rar, test2.rar usw...).
    eine batch liegt im root von d:\ und wenn man diese ausführt, werden alles files aus d:\test\ mit zufallsgenerierten dateinamen und endungen versehen (z.b.: H7hd35ct.vbs, kDed98HF.bmp usw...).

    damit man später wieder was mit den files anfangen kann, sollte nach dem verschlüsseln eine art rename-back.bat geschrieben werden, die nach dem ausführen wieder alle dateinamen korrigiert.


    ist das mit nem batch programm zu realisieren und ist der aufwand noch im normalen bereich? ?(
    wäre echt nett, wenn ihr ein paar tipps geben könntet.

    mfg der pate
     
  2. 19. März 2006
    ich glaube mit batch kann man keine zufalls namen generieren .... das musste schon in c++ schreiben oder so ( muss ja kein visual c++ sein ) oder naja kein plan ich denke nicht das das geht kann mich aber auch irren
    gruss
    ra!d
     
  3. 19. März 2006
    enne den befehl icht, aber is ja egal, das problem ist ja dann wenns wirklich random ist des wieer zurück umzubennen wen kein ealgorythmus drinne ist. mit bat geht sowas nicht dass ichs wüsste, da brauch man dann schon ne höhere programmiersprache
     
  4. 19. März 2006
    Also ist jetzt zwar recht simpel, funktioniert aber:

    rename-rar.bat (Kann auch anders heißen)
    Code:
    echo echo off > rename_back.bat
    For %%f In (*.rar) Do call ren.bat %%f 
    echo del rename_back.bat >> rename_back.bat
    echo on
    
    ren.bat (Muss so heißen!!)
    Code:
    echo off
    :randomizer
    set rand=%random%
    if exist %rand%.bmp goto randomizer
    echo rename %rand%.bmp %1 >> rename_back.bat
    rename %1 %rand%.bmp
    
    Einschränkungen:
    -Es wird immer nur die selbe Dateiendung benutzt (bmp)
    -Die Namen bestehen nur aus Zahlen
    -Batchdateien müssen sich im selben Ordner wie die umzubenennenden Dateien befinden
    -Nur rar-Dateien werden umbenannt

    Die letzten zwei Punkte kannst du aber leicht ändern, so z.B.:


    rename-rar.bat (Kann auch anders heißen)
    Code:
    echo echo off > rename_back.bat
    For %%f In (%1\*.rar %1\*.dat) Do call ren.bat %%f 
    echo del rename_back.bat >> rename_back.bat
    echo on
    
    Wenn du die batch nun mit
    Code:
    rename-rar C:\test
    startest benennt der alle .rar und .dat Dateien in C:\test um.
    Die rename_back.bat muss sich zum Zurückumbenennen im selben Ordner wie die Dateien befinden.

    Wenn dir das reicht, ok, wenn nicht ist das nicht ohne "größeren" Aufwand in Batch (In einer Hochsprache einfach) zu machen.

    Gruß
    MM
     
  5. 19. März 2006
    @MusicMaster
    das funktioniert ja wirklich sehr schön.. danke für deine mühe!

    die möglichkeit, dass 2 dateien den selben namen bekommen sollen, besteht aber nicht oder? ^^


    mfg pate
     
  6. 19. März 2006
    Nein ich wundere mich selbst schon das ich direkt beim ersten Versuch dran gedacht habe
    In dieser Zeile wird das überprüft:
    Code:
    if exist %rand%.bmp goto randomizer
    und falls nötig eine andere Zahl erzeugt

    Gruss
    MM
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.