Batch: Dateiname parsen
Von: , Frage gestellt am So, 3. Sep 2006
Hallo
Ich schreibe gerade an einer batch-Datei. Am Ende will ich alle Dateien kopieren, die den Dateinamen der Form Z_xxxxA, Z_xxxxN oder Z_xxxxÄ haben, aber nicht Z_xxxxB. Die xxxx stehen für vier Ziffern.
Wie kann ich das machen?
Ein Auszug:
for /F "delims==" %%j in ('dir "%%i\Z_*" /b /s /a-d') do (
echo 3=%%j
)
Das liefert mir schon mal alle Dateien, die mit Z_ anfangen. Schon mal nicht schlecht.
Weiter möchte ich die zu kopierenden Dateien anhand des xxxx in Verzeichnisse sortieren. Und zwar jeweils 25 Dateien in einen Ordner. Ein Beispiel:
Z_1234N -> 1225
Z_1251A -> 1250
Wie kann ich denn auf einzelne Stellen im String zugreifen? Ich meine ein s > 0000 and s < 9999 wäre schon mal gut. Kann ich reguläre Ausdrücke in batch Dateien anwenden? Beispielsweise Z_????[A|N|Ä]. Ich habe nichts darüber gefunden.
Grüße Chris
