Zeichen in Dateinamen per CMD ersetzen

dinoldo

Cadet 4th Year
Registriert
Juni 2017
Beiträge
104
Hallo Leute,

ich habe in einem Verzeichnis D:\Daten\ viele Dateien liegen. Folgendes möchte ich per CMD erreichen:

Es sollen nur bei PDF-Dateien, die exakt 22 Zeichen in der Dateiname (ohne Dateiendung gerechnet) haben, die Stellen 1, 20, 21 und 22 durch ein Raute-Zeichen ersetzt werden.

Beispiel vorher: 2_KUN_080_00_40258_--0.pdf
Beispiel nachher: #_KUN_080_00_40258_###.pdf

Wie mache ich das bitte?

Besten Dank vorab..
Gruß Dino
 
Hi benzer,

wir dürfen im Unternehmen keine Programme installieren etc. Gut wäre es, wenn man dies per CMD machen könnte
 
Hmm, muss ich sehen, ohne mir oder Kollegen das Problem zu holen.

CMD sehen als Vorteil, weil man dies auch in einem Batchverfahren aus anderen Anwendungen per VBA starten könnte.
 
hast du die Möglichkeit, die Powershell zu verwenden? Mit der sollte das funktionieren... Nur mit der cmd könnte das schwierig werden...
 
Hallo Telvanis,

leider nicht. CMD wäre wirklich perfekt
 
Jaa stimmt, der "rename" von #8 Befehl sollte funktionieren, allerdings nur mithilfe einer Schleife.... Ich hab mal testweise drei Dateien mit den namen test_cmd.txt, test_cmd - Kopie.txt und test_cmd - Kopie2.txt erstellt.
Nun kann ich mit "rename test_*.txt" alle auswählen. Das Problem ist offensichtlich; Ich kann damit immer nur EINE Datei zur Zeit umbennen, andernfalls bekomme ich in der Konsole ne Fehlermeldung... oder ich habe eben eine Schleife, die hochzählt und ne fortlaufende Nummer mitvergibt...
Allerdings kennt cmd nur die "Schleife" mit "goto", einem Befehl, der eigentlich vom Ethikrat der Programmierer verboten werden müsste... Aber mit einigem Aufwand sollte es funktionieren.
 
Ich würde mich sehr freuen, wenn das mit CMD zu lösen wäre.
 
Hast du denn die Variante von JennyCB aus Post #8 getestet?
Funktioniert bei mir (Win 10, mit CMD) einwandfrei - vorausgesetzt natürlich, dass dabei keine doppelt vergebenen Dateinamen entstehen.
 
Ich bin zu müde um zu programmieren.

Mit FOR IN sollte man alle PDFs mit Name erfassen können. Das 21. Zeichen kann man erfassen (mit SET) und mit IF auf Punkt testen.
Ganz risikofrei ist das nicht wenn die PDF z.B. als .DOC.PDF endet.
Habe ich damit einen Namen von 20 Zeichen Länge kann ich mit obigem Schnittmuster die essentielle Mitte ausfiltern und dann mit REN unter Zusammensetzen des Zielnamens zusammensetzen.

Woran scheitert eigentlich der Vorschlag von JennyCB? Manchmal klappt das scheinbar Primitive am besten.

CN8
 
Hallo JennyCB, hallo CN8,

Vorschlag von JennyCB hat funktioniert. Vielen Dank!

Gruß,
Dino
 
Zurück
Oben