Ich habe einen Ordner voller Dateien und sie sehen alle so aus:
rahmen_Nummer_Verzögerung-Nummer.gif
Ich möchte dierahmen_und das_VerzögerungTeil.
Hilfe bitte!
Antwort1
Sie können hierfür PowerShell verwenden. Öffnen Sie es und navigieren Sie zu dem Ordner, der die Dateien enthält, die Sie mit umbenennen möchten cd
. Führen Sie dann den folgenden Befehl aus:
cd C:\Path\to\your\folder
Get-ChildItem -Filter *.gif -File | Foreach-Object { Rename-Item -Path $_.FullName -NewName $_.Name.replace("frame_","").replace("_delay","") -WhatIf }
-WhatIf
bedeutet, dass dies ein Probelauf ist. Entfernen Sie es, sobald Sie mit dem angezeigten Ergebnis zufrieden sind, um die Dateien tatsächlich umzubenennen.
Antwort2
Die Antwort von Megamorf ist richtig, kann aber verbessert werden. Hier sind meine zwei Cents.
Die Befehle können auf eine Zeile gekürzt werden:
Get-ChildItem -Path "C:\Path\to\folder" -Filter "*.gif" -File -Recurse | % { Rename-Item -Path $_.FullName -NewName $($_.Name -replace "frame_|_delay") -WhatIf }
Im Befehl ist „C:\Pfad\zum\Ordner“ ein Platzhalter für den tatsächlichen Pfad. Ersetzen Sie den Pfad beim Ausführen des Befehls durch den tatsächlichen Pfad.
Der -Recurse
Schalter gibt den Befehl an, auch Unterverzeichnisse zu verarbeiten.
%
Bei Verwendung mit einem Skriptblock ist (alle Befehle zwischen {
und }
) ein Alias für ForEach-Object
. Wenn es nicht gefolgt von einem Skriptblock verwendet wird, bedeutet es den Modulo-Operator (d. h. es 21 % 6
gibt zurück ). Es ist üblich, zur Angabe 3
von zu verwenden ;%
ForEach-Object
Der -Replace
Operator verwendet Regex-Übereinstimmung, und Sie müssen den Ersetzungsvorgang nicht angeben. Sie können also zwei Zeichenfolgen in einem Schritt ersetzen und so viele Zeichen sparen.
Antwort3
Verwenden Sie die SoftwareUmbenennung. Es ist kostenlos.
Erstellen Sie eine Entfernungsregel, die den Text enthält, frame_
und eine weitere, die enthält _delay
.