Batch: doppeltes Leerzeichen in Dateinamen?
Hallo!
Wir verarbeiten bei uns in der Arbeit Audio-Dateien, die über Nacht in 5-Minuten-Abschnitte gesplittet werden.
Ich habe dafür eine Batch-Datei geschrieben, das funktioniert soweit auch gut.
Der Dateiname der Audiodateien soll eine bestimmte Syntax haben (SS JJMMTT hhmm Titel.mp3), was ich auch abfrage (ich lese den Dateinamen in eine Variable ein, die auf die einzelnen durch Leerzeichen getrennten Blöcke aufgeteilt wird (jeder Block kommt in eine eigene Variable), danach kontrolliere ich, ob JJMMTT 6 Zeichen lang ist und nur aus Zahlen besteht, das gleiche für hhmm mit 4 Zeichen Länge).
Wenn die Syntax nicht stimmt, wird die Datei in einen Error-Ordner verschoben.
Soweit auch so gut.
Jetzt das Problem:
Unseren Mitarbeitern, die die Audiodateien erstellen, passiert es immer wieder, dass sie in den Dateinamen 2 Leerzeichen hintereinander einfügen.
Und aus irgendeinem Grund wird die Datei vom Batch nicht verarbeitet, wenn im Dateinamen 2 Leerzeichen hintereinander enthalten sind.
Deshalb würde ich die Abfrage nach dem korrekten Syntax gerne erweitern, sodass auch abgefragt wird, ob zwei Leerzeichen hintereinander enthalten sind - dann soll die Datei auch in den Error-Ordner verschoben werden.
Leider konnte ich bisher noch keine Möglichkeit finden, wie ich über Batchbefehle kontrollieren kann, ob in einem Dateinamen ein doppeltes Leerzeichen vorkommt.
Für Tipps wäre ich sehr dankbar!
PS: Ja, ich weiß, dass Leerzeichen in Dateinamen suboptimal sind, es ist aber in diesem Fall leider nicht anders möglich - und wenn nur einfache Leerzeichen vorkommen, funktioniert es ja auch.
Wir verarbeiten bei uns in der Arbeit Audio-Dateien, die über Nacht in 5-Minuten-Abschnitte gesplittet werden.
Ich habe dafür eine Batch-Datei geschrieben, das funktioniert soweit auch gut.
Der Dateiname der Audiodateien soll eine bestimmte Syntax haben (SS JJMMTT hhmm Titel.mp3), was ich auch abfrage (ich lese den Dateinamen in eine Variable ein, die auf die einzelnen durch Leerzeichen getrennten Blöcke aufgeteilt wird (jeder Block kommt in eine eigene Variable), danach kontrolliere ich, ob JJMMTT 6 Zeichen lang ist und nur aus Zahlen besteht, das gleiche für hhmm mit 4 Zeichen Länge).
Wenn die Syntax nicht stimmt, wird die Datei in einen Error-Ordner verschoben.
Soweit auch so gut.
Jetzt das Problem:
Unseren Mitarbeitern, die die Audiodateien erstellen, passiert es immer wieder, dass sie in den Dateinamen 2 Leerzeichen hintereinander einfügen.
Und aus irgendeinem Grund wird die Datei vom Batch nicht verarbeitet, wenn im Dateinamen 2 Leerzeichen hintereinander enthalten sind.
Deshalb würde ich die Abfrage nach dem korrekten Syntax gerne erweitern, sodass auch abgefragt wird, ob zwei Leerzeichen hintereinander enthalten sind - dann soll die Datei auch in den Error-Ordner verschoben werden.
Leider konnte ich bisher noch keine Möglichkeit finden, wie ich über Batchbefehle kontrollieren kann, ob in einem Dateinamen ein doppeltes Leerzeichen vorkommt.
Für Tipps wäre ich sehr dankbar!
PS: Ja, ich weiß, dass Leerzeichen in Dateinamen suboptimal sind, es ist aber in diesem Fall leider nicht anders möglich - und wenn nur einfache Leerzeichen vorkommen, funktioniert es ja auch.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 251458
Url: https://administrator.de/contentid/251458
Ausgedruckt am: 24.11.2024 um 00:11 Uhr
3 Kommentare
Neuester Kommentar