Erledigt Dateien umbennen mit Eingabedatei unter Windows (Batch,Powershell)

Guten Morgen Zusammen,

benötige wieder eimmal eure Hilfe.

Verzeichnis mit beliebig vielen Dateien. Diese müssen umbenannt werden nach einem definierten Schema.
Eingabedatei vorhanden. Format: ALTNAME,NEUNAME (siehe Anhang)
Extension: unverändert, aber beliebig zu definieren (z.B. .TXT, .TEMP)

Danke wie immer für eure Unterstützung und allen einen guten Start in die neue Woche.

Grüsse
 

Anhänge

  • idnames.txt
    37,1 KB · Aufrufe: 23

sPIfF c99

fearless spaceman
Eine Möglichkeit wäre auch der Total Commander:
totalcommander.png
 
Zuletzt bearbeitet:
@sPIfF c99

Danke für den Tipp. Leider kann ich den Total Commander an dieser Stelle nicht verwenden. Auf meinen Systemen schon seit es den Commander von Ghisler gibt. Es muss auf Windows Server oder Windows 10 laufen ohne die Möglichkeit Fremdsoftware zu installieren.
 

rick_s

Bekanntes Mitglied
Da ich nahezu null Ahnung vom Scripten habe, nehme ich mir in solchen Fällen immer meinen Texteditor und mache aus einer solchen Datei mit ein paar Umbenennungen (mit reg ex, so dass man \n für das Zeilenende nehmen kann) eine Batchdatei, in der dann für alle Einträge steht z.B. ren "00001028.txt" "00834837.txt".

Wenn Du das nicht allzu häufig machen musst, ist das nicht viel Arbeit (und man könnte sogar ein Makro im Texteditor abspeichern). (Die txt Datei natürlich noch in bat umbenennen und im Verzeichnis laufen lassen).
 

sPIfF c99

fearless spaceman
@Dr.Windos
Grundsätzlich markiert man zuerst die Dateien, wenn alles im gleichen Verzeichnis ist, ctrl a
Dann das Multi-Rename Tool starten. Oder habe ich das falsch verstanden?

Falls es um den Server geht, würde ein Mappen vom Verzeichnis auf einem Client funktionieren? Geht natürlich nur mit entsprechender Berechtigung
 
Hallo Zusammen,

zuerst einmal Danke an alle, die sich bisher meinem Problem angenommen haben. :yo

An dieser Stelle noch einmal zur Klarstellung, damit keine Missverständnisse aufkommen:

Die Datei 00001028.txt muss nach dem Umbennen 00834837.txt heissen. Die Zuordnung ist in der Eingabedatei definiert, die ich im Beispiel "Idnames.txt" genannt habe. Ich bekomme eine Eingabedatei als .csv oder .txt mit 2 Spalten per "," oder ";" getrennt zur Verfügung gestellt.
Sollte eine bisher existierende Datei nicht einen entsprechenden Eintrag in der Eingabedatei enthalten wird diese nicht umbenannt und wird danach entfernt.
Das kann manuell oder per Skript automatisch gemacht werden.
 
Zuletzt bearbeitet:

sPIfF c99

fearless spaceman
Es muss sicher noch angepasst werden

Code:
for /f "tokens=1,2 delims=," %%a in (idnames.txt) do (
if exist "%%a.txt" echo ren "%%a.txt" "%%b.txt"
)
pause
 
Zuletzt bearbeitet:
Guten Morgen Zusammen,

wie immer Danke ich für eure Hilfe, vor allem @sPIfF c99. So hat es funktioniert. Setze es auf erledigt und wünsche allen eine gute und gesunde Zeit!
 
Oben Unten