Stefan72 1 Geschrieben 25. Mai 2021 Melden Teilen Geschrieben 25. Mai 2021 Hallo liebe Profis, ich habe leider nicht viel Ahnung von CMD-Befehlen und brauch deshalb Eure Hilfe. Ich habe in meinem Windows Ordner C:\Mailarchiv folgende Dateien: Test20200102-Email1.msg Test20200103-Email2.msg Test20200104-Email3.msg Test20200105-Email4.msg usw..... Ich möchte nun mit einer for-Schleife bei jeder Datei die Zeichenfolge "Test" löschen, also die ersten vier Zeichen. Kann mir jemand den vollständigen CMD-Befehl dafür liefern? Herzlichen Dank! Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 25. Mai 2021 Melden Teilen Geschrieben 25. Mai 2021 Wenn auch PowerShell erlaubt ist ... Get-ChildItem -Path C:\Mailarchiv -Filter Test*.msg | ForEach-Object { Rename-Item -Path $_.FullName -NewName ($_.Name -replace 'Test') } Wenn das ne einmalige Aktion ist ... für sowas gibt es auch Tools ... z.B. der FreeCommander kann sowas oder PowerRename aus den Microsoft-PowerToys Zitieren Link zu diesem Kommentar
Stefan72 1 Geschrieben 25. Mai 2021 Autor Melden Teilen Geschrieben 25. Mai 2021 Danke BOfH_666, PowerShell hat funktioniert! Andere Tools darf ich wegen Firmenrechner leider nicht nutzen. Wobei MS PowerToys durchaus möglich sein sollte. Wär schön, wenn mir trotzdem noch jemand den alten DOS Befehl "for" liefern kann. Dankeschön. Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 25. Mai 2021 Melden Teilen Geschrieben 25. Mai 2021 vor 5 Minuten schrieb Stefan72: Wär schön, wenn mir trotzdem noch jemand den alten DOS Befehl "for" liefern kann. Nur aus Neugier ... warum? vor 7 Minuten schrieb Stefan72: PowerShell hat funktioniert! Zitieren Link zu diesem Kommentar
Stefan72 1 Geschrieben 25. Mai 2021 Autor Melden Teilen Geschrieben 25. Mai 2021 Ganz einfach: Hab mal vor Jahren den FOR Befehl genutzt und hab mir das sogar auf einen Zettel geschrieben. Ich glaube ich habe damit irgendwelche pdf-Dateien umbenannt. Auf dem Zettel steht: FOR %I IN (*.pdf) DO ren "%I" "1700%~nxI Und da ich Laie bin hätte mich halt interessiert, ob ich diesen FOR Befehl auch für mein aktuelles Problem irgendwie in abgeänderter Form nehmen kann - dann würde ich den Befehl vielleicht sogar verstehen. Zitieren Link zu diesem Kommentar
NilsK 2.940 Geschrieben 25. Mai 2021 Melden Teilen Geschrieben 25. Mai 2021 (bearbeitet) Moin, vor 25 Minuten schrieb Stefan72: Wär schön, wenn mir trotzdem noch jemand den alten DOS Befehl "for" liefern kann. sorry, aber "liefern" tun wir hier gar nix. Und da so eine Aufgabe mit FOR unglaublich umständlich ist, hätte zumindest ich auch keine Motivation, damit anzufangen, weil das Problem ja nun schon viel besser gelöst ist. Wenn es irgendeinen Grund gibt, das mit FOR zu machen, findest du dazu einiges im Web. Das müsste jeder von uns aber auch raussuchen - und ab da siehe oben. Gruß, Nils PS. und als kleiner Sonderservice: FOR /? hilft dir bei deiner Zeile vermutlich auch. bearbeitet 25. Mai 2021 von NilsK Zitieren Link zu diesem Kommentar
Stefan72 1 Geschrieben 25. Mai 2021 Autor Melden Teilen Geschrieben 25. Mai 2021 Sorry Nils für das Wort "liefern". War keine böse Absicht. Um nicht noch weiteren Ärger zu kriegen, nehme ich hiermit meinen Wunsch wegen dem DOS Befehl "FOR" zurück. Danke nochmal BOfH_666 für den PowerShell Befehl und den Tool Tipps. 1 Zitieren Link zu diesem Kommentar
Lian 2.425 Geschrieben 25. Mai 2021 Melden Teilen Geschrieben 25. Mai 2021 @Stefan72 Alles gut, ich denke, hier war einfach die Wortwahl etwas unglücklich. Zwei Dinge, um Dir zu erklären, was unser Ansatz ist: 1) Wir helfen gerne und stetig, dabei ist uns aber wichtig, dass wir helfen "geistig auf's Rad zu steigen" - fahren muss aber jeder selbst. Das ist der einzig sinnvolle Ansatz, um nachhaltig zu helfen. Schließlich soll der Fragesteller auch verstanden haben, was die Lösung des Problems ist. 2) Nehmt PowerShell statt CMD, das ist einfach modern und inzwischen auch schon wieder 15 Jahre alt. Keine Berührungsängste, wie Du siehst, wurde Dir damit schnell geholfen. Wenn Du Dir die Zeilen oben von Bofh_666 ansiehst, ist es auch wirklich einfach zu lesen... Ansonsten: Willkommen an Board 1 Zitieren Link zu diesem Kommentar
NilsK 2.940 Geschrieben 25. Mai 2021 Melden Teilen Geschrieben 25. Mai 2021 Moin, ja, das war nicht als "Ärger" gemeint. Gruß, Nils 1 Zitieren Link zu diesem Kommentar
daabm 1.357 Geschrieben 26. Mai 2021 Melden Teilen Geschrieben 26. Mai 2021 Am 25.5.2021 um 10:48 schrieb Stefan72: Auf dem Zettel steht: FOR %I IN (*.pdf) DO ren "%I" "1700%~nxI "for /?" wäre mal ein Anfang - bei for ist die integrierte Hilfe tatsächlich recht hilfreich (wie auch bei set übrigens) Mit Deinem Zettel-Befehl wird ein Präfix "1700" ergänzt, das geht noch relativ einfach. %~ greift auf Dateinamensbestandteile zu - dpnx für Drive, Path, Name, Extension. Einen Bestandteil damit "rauszuwerfen" ist schwieriger, geht aber auch mit "set" und DelayedExpansion. Aber glaub mir - Powershell ist dafür (und für vieles andere) weit besser geeignet. Zitieren Link zu diesem Kommentar
Stefan72 1 Geschrieben 26. Mai 2021 Autor Melden Teilen Geschrieben 26. Mai 2021 Hi daabm, besten Dank für Deine Erklärungen, damit verstehe ich das, was auf meinem Zettel stand, schon etwas besser. Mir ist jetzt dadurch wieder eingefallen, dass ich damals tatsächlich große Mengen an Dateinamen mit 1700... ergänzt habe. Bezüglich meines aktuellen Problems hab mich schon überzeugen lassen, PowerShell zu benutzen. Ich versuchs trotzdem auch weiter mit FOR. Mal schauen, wie weit ich komme. VG Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.