Dateiname in Variable und Jedes Zeichen vergleichen
Hallo
ich habe mich nun schon einige Zeit durch die Angebotenen Artikel gewühlt. Dabei sind auch schon einige brauchbare Scripts entstanden. Nun habe ich allerding ein Problem, worauf ich keine Antwort gefunden habe.
Problem: mir liegen Dateinamen vor, die eine unterschiedliche Länge aufweisen (z.B. COO.1.1.1.23{1}12345.xml oder COO.1.1.1.34{12}1234meta.xml). Von diesen oll nun alles ab der { abgetrennt werden und statt dessen nur meta.txt angefügt werden. Das Ergebnis soll dann quasi so aussehen: COO.1.1.1.23meta.txt bzw. COO.1.1.1.34meta.txt
Das Abtrennen von einer bestimmten Anzahl von Zeichen und das Anhängen von "meta.txt ist kein Problem. Durch die verschiedene Länge der Namen muss allerdings jedes Zeichen geprüft werden, ob es ein { ist. Wenn ja, dieses und alle volgenden abtrennen und besagtes anfügen. Die Dateien liegen alle im gleichen Ordner.
Danke!
mfg Harris
ich habe mich nun schon einige Zeit durch die Angebotenen Artikel gewühlt. Dabei sind auch schon einige brauchbare Scripts entstanden. Nun habe ich allerding ein Problem, worauf ich keine Antwort gefunden habe.
Problem: mir liegen Dateinamen vor, die eine unterschiedliche Länge aufweisen (z.B. COO.1.1.1.23{1}12345.xml oder COO.1.1.1.34{12}1234meta.xml). Von diesen oll nun alles ab der { abgetrennt werden und statt dessen nur meta.txt angefügt werden. Das Ergebnis soll dann quasi so aussehen: COO.1.1.1.23meta.txt bzw. COO.1.1.1.34meta.txt
Das Abtrennen von einer bestimmten Anzahl von Zeichen und das Anhängen von "meta.txt ist kein Problem. Durch die verschiedene Länge der Namen muss allerdings jedes Zeichen geprüft werden, ob es ein { ist. Wenn ja, dieses und alle volgenden abtrennen und besagtes anfügen. Die Dateien liegen alle im gleichen Ordner.
Danke!
mfg Harris
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 21146
Url: https://administrator.de/contentid/21146
Ausgedruckt am: 20.11.2024 um 18:11 Uhr
10 Kommentare
Neuester Kommentar
Also, Harris,
wenn ich Dein Beispiel nehme:
FOR /R "C:\Test\META\" %%f IN (*meta.xml) DO (
C:\Test\msxsl.exe "%%~dpnxf" c:\Test\stylesheet_meta.xsl -o "C:\Test\AUSGANGSDATEIEN\%%~nxf")
--würde IMHO auch den Fall abdecken, dass in den Namen Leerzeichen sind.
--siehe auch die Hilfe zu FOR /?
%~I - Expandiert %I und entfernt alle umschließenden
Anführungszeichen (").
%~fI - Expandiert %I zu einem vollständigen Dateinamen.
%~dI - Erzeugt nur den Laufwerkbuchstaben von %I.
%~pI - Erzeugt nur den Pfad von %I.
%~nI - Erzeugt nur den Dateinamen von %I.
%~xI - Erzeugt nur die Dateierweiterung von %I.
HTH Biber
wenn ich Dein Beispiel nehme:
FOR /R "C:\Test\META\" %%f IN (*meta.xml) DO (
C:\Test\msxsl.exe "%%~dpnxf" c:\Test\stylesheet_meta.xsl -o "C:\Test\AUSGANGSDATEIEN\%%~nxf")
--würde IMHO auch den Fall abdecken, dass in den Namen Leerzeichen sind.
--siehe auch die Hilfe zu FOR /?
%~I - Expandiert %I und entfernt alle umschließenden
Anführungszeichen (").
%~fI - Expandiert %I zu einem vollständigen Dateinamen.
%~dI - Erzeugt nur den Laufwerkbuchstaben von %I.
%~pI - Erzeugt nur den Pfad von %I.
%~nI - Erzeugt nur den Dateinamen von %I.
%~xI - Erzeugt nur die Dateierweiterung von %I.
HTH Biber