Dateien erstellen
Hallo zusammen,
ich will eine kleine Konsolenanwendung via Batch schreiben.
Sie soll folgendes erledigen:
Ich hab einen Ordner, in dem diverse *.xml Dateien vorhanden sind.
Diese Anwendung soll jetzt zu jeder *.xml Datei eine *.rdy Datei mit einem identischen Namen erzeugen.
Bisher bin ich soweit:
@echo off & setlocal
for %%i in ("C:\Pfad\*.*") do if not exist "%%i.rdy" echo\>"%%i.rdy"
Funktioniert soweit auch.
Allerdings heißen die Dateien bei mir dann "Dateiname.xml.rdy".
Wie bekomme ich nun das kürzel ".xml" aus dem Namen meiner *.rdy Datei?
Gruß
Paul
ich will eine kleine Konsolenanwendung via Batch schreiben.
Sie soll folgendes erledigen:
Ich hab einen Ordner, in dem diverse *.xml Dateien vorhanden sind.
Diese Anwendung soll jetzt zu jeder *.xml Datei eine *.rdy Datei mit einem identischen Namen erzeugen.
Bisher bin ich soweit:
@echo off & setlocal
for %%i in ("C:\Pfad\*.*") do if not exist "%%i.rdy" echo\>"%%i.rdy"
Funktioniert soweit auch.
Allerdings heißen die Dateien bei mir dann "Dateiname.xml.rdy".
Wie bekomme ich nun das kürzel ".xml" aus dem Namen meiner *.rdy Datei?
Gruß
Paul
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 100529
Url: https://administrator.de/forum/dateien-erstellen-100529.html
Ausgedruckt am: 22.05.2025 um 13:05 Uhr
7 Kommentare
Neuester Kommentar
Hallo powl89 und willkommen im Forum!
Besser wird's so gehen:
Mit "for /?" und der nötigen Geduld, bis fast an's Ende zu lesen (oder zumindest zu blättern
), kannst Du das dann hoffentlich nachvollziehen ...
Grüße
bastla
P.S.: Falls Dir die Formatierung meines Code-Beispiels gefallen sollte:
Besser wird's so gehen:
@echo off & setlocal
for %%i in ("C:\Pfad\*.xml") do if not exist "%%~dpni.rdy" echo\>"%%~dpni.rdy"
Grüße
bastla
P.S.: Falls Dir die Formatierung meines Code-Beispiels gefallen sollte:
Hallo powl89!
).
In diesem Fall hier steht bei jedem Schleifendurchlauf in "%%i" der vollständige Pfad einer ".xml"-Datei - dieser Pfad setzt sich zusammen aus:
drive = Laufwerk = "C:"
path = Pfad = "\Pfad\"
name = Dateiname = "DerName"
extension = Typ = ".xml"
Mit Ausnahme des Typs (dafür willst Du ja ".rdy" verwenden), wird alles andere benötigt ...
Grüße
bastla
... was jetzt genau passiert durch das "~dpni" !?
... steht, wie erwähnt, in der Hilfe zu "for" (in "Einzelteilen" In diesem Fall hier steht bei jedem Schleifendurchlauf in "%%i" der vollständige Pfad einer ".xml"-Datei - dieser Pfad setzt sich zusammen aus:
drive = Laufwerk = "C:"
path = Pfad = "\Pfad\"
name = Dateiname = "DerName"
extension = Typ = ".xml"
Mit Ausnahme des Typs (dafür willst Du ja ".rdy" verwenden), wird alles andere benötigt ...
Grüße
bastla
Hallo powl89!
Der Teil "~dpn" wird dann einfach zwischen "%%" und dem Buchstaben eingefügt.
Grüße
bastla
Wofür steht das i ?
In "for"-Schleifen werden einzelne Buchstaben als Schleifenvariable verwendet, und "i" wird dafür vorwiegend (wie auch in anderen Programmiersprachen) verwendet - der Buchstabe ist aber frei wählbar, daher könnte die Schleife auch lauten:for %%a in ("C:\Pfad\*.xml") do if not exist "%%~dpna.rdy" echo\>"%%~dpna.rdy"
Grüße
bastla