gelöst Challenge mit einem Batch beim Umbennen von Files mit einem Punkt im Namen gesucht

Mitglied: thomas2010

thomas2010 (Level 1) - Jetzt verbinden

02.02.2010, aktualisiert 19:36 Uhr, 3690 Aufrufe, 12 Kommentare

Hallo Alle,

ich habe eine Challenge mit dem Umbennen von Dateien mit einem Batch File
(Es sind sehr viele Files und deswegen will ich das automatisieren).

Ich würde gerne alle '.' im File Namen (Z.B. eins.zwei.drei.txt)
in '-' (eins-zwei-drei.txt) umbennen.

Ich habe mir die Beispiele von den anderen Umbenennen Fragen angesehen aber ich
bekomms leider nur hin das alle und damit leider auch
das letzte '.' im Beispiel '.txt' (File Endung) umbenannt werden.

Kann mir irgend jemand Bitte helfen oder einen Tipp geben wie man das richtig mit
einem Batch macht und das letzte '.' im File Namen beim umbenennen bestehen bleibt?

Grüße
Thomas
Kommentar vom Moderator Biber am 02.02.2010 um 19:34:16 Uhr
Challenge mit einem Batch beim Umbennen...
#rgc = 643
ich habe eine Challenge mit dem Umbennen von Dateien mit einem Batch File
#rgc = 644
Ich würde gerne alle '.' im File Namen (Z.B. eins.zwei.drei.txt) in '-' (eins-zwei-drei.txt) umbennen.
#rgc =645
Ein "Umbennen" hatten wir schon oft, aber noch nie so viele im Zusammenhang mit der Challenger...
Muss ein Mehr-Sitzer sein...
Mitglied: dog
02.02.2010 um 19:09 Uhr
Ungetestet mit VBS etwa so:
Bitte warten ..
Mitglied: miniversum
02.02.2010 um 19:15 Uhr
Ungstestete version:
Bitte warten ..
Mitglied: 76109
02.02.2010 um 22:20 Uhr
Hallo Dog!

Dein Skript wird nicht funktionieren. Die Dateierweiterung geht verloren und bei Replace ist die Reihenfolge vertauscht ("-", "." anstatt ".", "-")

Alternativ sollte das gehen (*.vbs):
Gruß Dieter
Bitte warten ..
Mitglied: dog
02.02.2010 um 22:29 Uhr
Ja, ich habe beim Beitrag nicht richtig aufgepasst
Bitte warten ..
Mitglied: 76109
02.02.2010 um 22:33 Uhr
Hallo Dog!

Das passiert mir ab und zu auch

Gruß Dieter
Bitte warten ..
Mitglied: edepfau
03.02.2010 um 09:43 Uhr
getestete Version:
Unterschied: der voll Pfad wird mitgenommen, die Verzeichnisse werden rekursiv durchlaufen.

Gruss,
Ede
Bitte warten ..
Mitglied: Biber
03.02.2010 um 11:01 Uhr
Moin edepfau,


Zitat von edepfau:
getestete Version:
Mag sein... aber wenn das Ergebnis des Test doch so war wie es aufgrund des Codes sein muss...
Dann solltest du besser ein paar Smilies dahintersetzen.... sonst benutzt noch irgendjemand den Schnipsel.

Andererseits...
.. es gab auch mal eine Zahnpasta, die sich verkauft hat wie blöd... auch nur wegen des Slogans "Klinisch getestet".
Und die hatten auch nie das Ergebnis des Tests mit angegeben.

Unterschied: der voll Pfad wird mitgenommen, die Verzeichnisse werden rekursiv durchlaufen.

Gruss,
Ede

Kann aus zwei Gründen zwar keinen Schaden anrichten, aber auch nie funktionieren

  • Wenn beim Umbenennen "alterName"=="neuerName" ist, dann geht natürlich ein "REN alterName neuerName" in die Grütze.

  • selbst wenn Dateien gefunden worden wären mit "neuerName ist anders als alterName", also mit zu ersetzendem Punkt im Dateinamen, dann wäre der REN-Befehl daran gescheitert, dass bei Alt- UND bei Neu-Datei jeweils der Pfad mit angegeben ist. Das darf nicht.

Neuer Versuch (Prädikat "getestet und für ausbaufähig befunden")
Ergebnis/Ausgabe eines Aufrufs der Batchdatei "edeV.cmd"
Von allen Dateien in der Teilstruktur "D.\Biber" haben einzig die beiden angezeigten Dateien einen/mehrere Punkte im Namen.
Und für die wird angezeigte REN-Anweisung generiert

Grüße
Biber
Bitte warten ..
Mitglied: edepfau
03.02.2010 um 13:17 Uhr
Sehr guter Hinweis auf die Syntax von ren. Der Pfad darf beim Ersatznamen nicht angegeben werden.
Auch die Aufnahme des Anfangspfads in die "for"-Schleife ist gut, sehr kompakt. Kannte ich nicht.

Der andere Einwand, dass ren "abc" "abc" zu einem Fehler führt, stimmt zumindest bei mir nicht (W2K, cmd-Fenster). Vielleicht aber unter DOS.
Ohne IF-Abfrage und doppelte Ersetzungen spart man eine Menge Zeit, wenn es um Tausende von Ordnern geht.

Gruss,

Ede
Bitte warten ..
Mitglied: Biber
03.02.2010 um 14:17 Uhr
Moin edepfau,

Hier hast du recht...
Der andere Einwand, dass ren "abc" "abc" zu einem Fehler führt, stimmt zumindest bei mir nicht (W2K, cmd-Fenster). Vielleicht aber unter DOS.

Das habe ich nicht überprüft (sondern nur den oft gelesenen Fehlertext "Datei nicht gefunden oder doppelter Dateiname" im Hinterkopf bzw. unterstellt).

In der Tat ist es aber so, dass der Versuch einer Datei-Umbenamsung auf den bereits vorhanden Namen nicht als "Fehler" gewertet wird
Beispiel:
Und noch redmondiger - nicht nur, dass kein Fehler gemeldet wird... er macht es auch tatsächlich..
Eine Variation
ren test23.txt Test23.txt
.... hinterlässt wirklich eine "Test23.txt"-Datei mit einem gross geschriebenen "T" ...

So wie die Mädels möchte ich auch programmieren können...

Grüße
Biber
Bitte warten ..
Mitglied: thomas2010
04.02.2010 um 18:11 Uhr
Hallo Biber,

erstmal Danke für die gute wirklich interessante Lösung.
Auch Danke an die anderen der Diskussion.
Wieder einiges dazu gelernt!

Eine kleine Sache ist mir aber noch nicht ganz klar.

:: Punkt durch Underline ersetzen
set "name=%name:.=_%"
xxxx

Das ':' steht für ersetzen?
Wo sind solche Sachen eigenlich dokumentiert?
Ich habe im Netz mal gesucht habe aber zu dem speziellen set nichts gefunden.

Gruß
Thomas
Bitte warten ..
Mitglied: miniversum
04.02.2010 um 18:33 Uhr
starte die cmd und gib dort
set /?
ein. Da steht das.
Funktioniert auch bei anderen Befehlen ;)
Bitte warten ..
Mitglied: Biber
04.02.2010 um 18:37 Uhr
Moin thomas2010,

zu deinen Rest/Folgefragen
Das ':' steht für ersetzen?
Jein.... siehe unten.

Wo sind solche Sachen eigenlich dokumentiert?

Das wirst du jetzt gar nicht glauben, ist aber ernst gemeint:
Am heimischen Rechner in einem geöffneten CMD-Fenster.
Da gibt es zu jedem internen/externen mitgelieferten Kommandozeilen-Befehl eine Hilfe durch einfachen Aufruf von "DerBefehl /?"

Und die ist eigentlich gar nicht schlecht und verglichen mit dem Internet regelrecht werbefrei.
Beispiel am CMD-Prompt wäre die Hilfe zum Befehl SET, wo ja vielleicht nicht nur etwas zum SETzen von Variablen steht, sondern auch etwas zur UmSETzung..

Ich habe im Netz mal gesucht habe aber zu dem speziellen set nichts gefunden.
Irgendwo zwischen den Extremen "ganz triste Hilfe zu CMD-Befehlen auf einem bernsteinfarbenen 25x80 Monitor" und "quietschbunte Kiddiesprechblasen im Netz" könntest du ja mal die Suchfunktion auf dieser Seite ausprobieren (oben rechts zu sehen).

Zu Batch- und Skripting-Themen haben wir schon ein oder zwei Antworten hier geben können, die so insgesamt als ganz brauchbar beurteilt wurden.

Grüße
Biber
Bitte warten ..
Heiß diskutierte Inhalte
Windows Netzwerk
Netzwerkkomponent mit SD-Kartenslot
gelöst waddalosFrageWindows Netzwerk26 Kommentare

Hallo an alle, folgendes Problem gibt es bei uns im Unternehmen: Der Wareneingang soll jeden Eingang fotografieren und anschließend ...

Server
File Portal mit Userverwaltung gesucht
McLionFrageServer20 Kommentare

Hallo zusammen, ich suche eine Art Fileserver im Webbrowser. Es gibt diese zwar wie Sand am Meer, jedoch ohne ...

PHP
Fehler mit PHP-FPM
adriaanFragePHP15 Kommentare

Hallo guten Abend liebe Forenmitglieder, ich habe ein Problem. Nämlich habe ich ein Kontroll PHP Skript heruntergeladen und damals ...

Windows Server
Internetzugang über Terminalserver
Felix0201FrageWindows Server11 Kommentare

Hallo, ich habe folgendes Anliegen. Wir wollen einen Terminalserver für ca. 20-25 Nutzer bereitstellen. Ist es da besser den ...

Netzwerke
Heimnetzwerk erweitern
TellMyWifiLoveHerFrageNetzwerke11 Kommentare

Gott zum Gruße die Herrn und Damen, Ich habe bereits einige Seiten im großen weiten interwebz erforscht aber konnte ...

Windows 10
Windows 10 64 Business hängt sich auf
gelöst greenhorn1FrageWindows 1010 Kommentare

Hallo, ich habe eine neuen HP Computer mit Windows 10 Business 64. Ich kann leider nicht zwischen 2 Benutzern ...

Ähnliche Inhalte
Datenbanken

VBA gesucht - Excel - ersetze Spalten Inhalt eines Datums ohne Punkt durch Datum mit Punkt

gelöst CaptnHowdyFrageDatenbanken14 Kommentare

Hallo liebe Gemeinde, ich bin auf der Suche nach einem VBA Code der es mit ermöglicht die Spalte "A" ...

Windows 10

Wiederherstellungs Punkt

gelöst MrLabelFrageWindows 103 Kommentare

Hallo, bei Win10 gibt es ja den Widerherstellungspunkt (den man einstellen kann). Dabei bleiben aber Dokumente und Daten die ...

RedHat, CentOS, Fedora

Centos 7 bonding gleichzeitig mit weitern Punkt zu Punkt Verbindungen

gelöst MarkBeakerFrageRedHat, CentOS, Fedora1 Kommentar

Hallo zusammen, ich habe einen Server mit Centos 7.2 der über vier 10Gbit und weiter vier 1Gbit Verbindungen verfügt. ...

Batch & Shell

Batch Sonderzeichen-codes gesucht!

ElHuttiFrageBatch & Shell12 Kommentare

Hallo, Könnte mir vielleicht bitte jemand die Codes für Smileys, Formen und andere Zeichen, die nicht auf der Tastatur ...

Soziale Netzwerke

Facebook auf den Punkt gebracht

FrankInformationSoziale Netzwerke4 Kommentare

In HBO's Last Week Tonight hat der Moderator John Oliver das Thema Facebook genau auf den Punkt gebracht. Nach ...

Windows Tools

Batch OCR gesucht mit Dateifilterfunktionen

gelöst greatmgmFrageWindows Tools13 Kommentare

Hallo zusammen, bin jetzt vielleicht bei Windows Tools nicht ganz richtig, aber kein anderes Forum hätte eher gepasst. Wir ...

Neue Fragen
Administrator Magazin
11 | 2020 Virtualisierung ist aus der IT nicht mehr wegzudenken. In der November-Ausgabe des IT-Administrator Magazins dreht sich der Schwerpunkt um das Thema "Server- und Storage-Virtualisierung". Darin erfahren Sie, wie sich die Virtualisierungstechnologie entwickelt hat, welche Varianten es im Bereich Server und Speicher gibt und wie ...
Neue Beiträge
Neue Jobangebote
Server- und Storage-VirtualisierungServer- und Storage-VirtualisierungBerechtigungs- und IdentitätsmanagementBerechtigungs- und IdentitätsmanagementWebdienste und -serverWebdienste und -serverDatenbankenDatenbankenMonitoring & SupportMonitoring & SupportHybrid CloudHybrid Cloud