Erledigt Dateien umbenennen

Dieses Thema im Forum "Tech & FAQ Forum" wurde erstellt von belzebub, 6 September 2018.

  1. belzebub

    belzebub Aktives Mitglied

    Registriert seit:
    27 April 2001
    Beiträge:
    800
    Hi

    suche ein Prg / Script / Batch etc um viele Dateien formatiert umzubenennen. Hauptsache es läuft unter WIN.

    Ausgang sind Dateien 5-7-8.xxx / 5-17-8.xxx ... 5-5-19.xxx etc. Kann auch evtl mal 5-1-4596.xxx sein.
    ( momentan nur 2 Stellig ) Die erste 5 ist irrelevant und immer gleich, kann auch einfach weggeschnitten werden, stört aber auch nicht - das ist kein Problem.
    Danach sollen die Positionen 2 und 3, immer 2 oder 3 oder 4 Stellen haben ( steht noch nicht ganz fest was die größte ist. also z.b.: 5-0007-0018.xxx. Ist aber auch egal wenn es 10 sein sollten. Die Nummern müssen natürlich gleich bleiben. 7 wird zu 007 etc.

    Habe schon einige Umbenennungstools mir angesehen aber stelle mich entweder zu doof an, oder die Doku ist miserabel etc. In Exel wäre das kein Problem, aber es geht bestimmt auch einfacher.

    Danke für die erwartete Hilfe - und mir reicht eine Lösung die funktioniert.

    Belzebub
    Zuletzt bearbeitet: 6 September 2018
  2. EchtAtze

    EchtAtze Bekannter Mitglied

    Registriert seit:
    9 Juni 2001
    Beiträge:
    4.979
    Im TotalCommander hast du ein Multi-Rename-Tool, welches auch RegEx beherrscht. Damit sollte es klappen.
  3. overdrive

    overdrive Tüftler

    Registriert seit:
    7 Juli 2002
    Beiträge:
    798
    @belzebub
    Gib doch mal ein konkretes Beispiel:
    z.b.
    mehrere Dateieen (untereinander) und gewünschtes gemeinsames Umbenennmuster.
  4. dr_tommi

    dr_tommi alter Oldie

    Registriert seit:
    26 April 2001
    Beiträge:
    12.212
    Hat er doch oben genau beschrieben.
    Aus u-v-w.xxx soll nach dem Umbenennen sowas wie u-vvvv-wwww.xxx wobei v bzw. w mit führenden Nullen auf eine feste Anzahl gebracht werden sollen, im beispiel also 4-stellig.

    5-5-19.xxx wird zu 5-0005-0019.xxx
    5-7-8.xxx wird zu 5-0007-0008.xxx
    5-1-4596.xxx wird zu 5-0001-4596.xxx

    Und am besten so flexibel dass man das von 2 bis 10-stellig machen kann.
    m3rlin und belzebub sagen Danke.
  5. EchtAtze

    EchtAtze Bekannter Mitglied

    Registriert seit:
    9 Juni 2001
    Beiträge:
    4.979
    Mit PowerShell schnell geklöppelt:
    Code:
    foreach ($file in Get-ChildItem c:\Folder\*.xxx | Where {$_.Basename -like "*-*-*"})
    {
      $parts = $file.Basename.Split("-")
      $newFilename = "{0}-{1:d4}-{2:d4}{3}" -f $parts[0], [int]$parts[1], [int]$parts[2], $file.Extension
      #Wenn die führende 5 (mit dem Minus) weg soll nimm diese Zeile:
      #$newFilename = "{0:d4}-{1:d4}{2}" -f [int]$parts[1], [int]$parts[2], $file.Extension
      Write-Host Rename $file.Name -> $newFilename
      Rename-Item $file -newName $newFilename
    }
    Edit: Etwas 'eleganter' gemacht.
    Zuletzt bearbeitet: 7 September 2018
    romeo, m3rlin, belzebub und 2 andere sagen Danke.
  6. belzebub

    belzebub Aktives Mitglied

    Registriert seit:
    27 April 2001
    Beiträge:
    800
    aller besten Dank - funktioniert super

    belzebub
  7. EchtAtze

    EchtAtze Bekannter Mitglied

    Registriert seit:
    9 Juni 2001
    Beiträge:
    4.979
    Hab ne Kleinigkeit umgebaut was den Dateifilter angeht. Ist etwas eleganter. Ich mag möglichst eleganten Code. ;)
    m3rlin sagt Danke.
  8. ATLAN

    ATLAN Bekanntes Mitglied

    Registriert seit:
    22 Juni 2001
    Beiträge:
    1.935
    StexBar ist auch eine gute Explorererweiterung, die das Umbenennen mit Strings erlaubt, egal wo dieser im Namen steht.
    Sehr flexibel aber am Anfang ein wenig Einlesen nötig.