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
Please also mark the comments that contributed to the solution of the article
Content-Key: 21146
Url: https://administrator.de/contentid/21146
Printed on: April 26, 2024 at 17:04 o'clock
10 Comments
Latest comment
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