Hallo. Bin neu hier und hoffe, das mir hier geholfen werden kann (in anderen Foren kam meist nichtmal eine Antwort :/ ).
Ich brauche eine Funktion, der ich einen String übergeben kann und die mir zurückgibt, ob dieser String (vollständig, also Laufwerk, Pfad und Dateiname) 8.3-Konform ist.
Das eigentliche Problem ist, das diese Funktion das auch mit Dateipfaden mit möglichst sehr hoher Präzision erkennen können muss, die noch nicht existieren.
Denn ich betreibe ein Programm, welches gezwungenermaßen (glaubt mir, wenn ich das so sage) mit einem DOS-Tool interoperieren muss. Und bevor es neue Dateien dafür anlegt oder vorhandene zum bearbeiten öffnet, würde ich gerne prüfen ob der Pfad nun eben 8.3-Konform ist oder nicht.
Habe nun schon einige Codes dafür gefunden, aber diese Funktionierten nur, wenn die entsprechende Datei auch schon existiert. Ziel ist es aber, es bereits vorher rauszubekommen um gucken zu können ob eine Datei unter einem gewissen Pfad und Dateinamen auch von dem DOS-Tool aufgerufen werden könnte.
Das Übergeben des Dateinamens an das DOS-Tool in Hochkommas (z.B. dostool.exe "C:\Langer Pfad\Langer Dateiname.end") funktioniert leider auch nicht.
Meine Ideen gingen soweit, jeden Abschnitt des Pfades einzeln auf bestimmte Merkmale zu überprüfen, die für die 8.3-Konformität wichtig wären, z.B. ob die Länge eines Abschnitts nicht größer ist als 8 Zeichen, ob Leerzeichen vorkommen oder Sonderzeichen etc. Allerdings hab ich keinen Schimmer wie ich das Umsetzen soll :/
Es würde vorerst reichen, wenn die Funktion die 8.3-Konformität recht gut "erraten" kann, also wirklich nur anhand spezieller Indizien sagt "ja" oder "nein".
Bitte helft mir *verzweifelt*.
Ich brauche eine Funktion, der ich einen String übergeben kann und die mir zurückgibt, ob dieser String (vollständig, also Laufwerk, Pfad und Dateiname) 8.3-Konform ist.
Das eigentliche Problem ist, das diese Funktion das auch mit Dateipfaden mit möglichst sehr hoher Präzision erkennen können muss, die noch nicht existieren.
Denn ich betreibe ein Programm, welches gezwungenermaßen (glaubt mir, wenn ich das so sage) mit einem DOS-Tool interoperieren muss. Und bevor es neue Dateien dafür anlegt oder vorhandene zum bearbeiten öffnet, würde ich gerne prüfen ob der Pfad nun eben 8.3-Konform ist oder nicht.
Habe nun schon einige Codes dafür gefunden, aber diese Funktionierten nur, wenn die entsprechende Datei auch schon existiert. Ziel ist es aber, es bereits vorher rauszubekommen um gucken zu können ob eine Datei unter einem gewissen Pfad und Dateinamen auch von dem DOS-Tool aufgerufen werden könnte.
Das Übergeben des Dateinamens an das DOS-Tool in Hochkommas (z.B. dostool.exe "C:\Langer Pfad\Langer Dateiname.end") funktioniert leider auch nicht.
Meine Ideen gingen soweit, jeden Abschnitt des Pfades einzeln auf bestimmte Merkmale zu überprüfen, die für die 8.3-Konformität wichtig wären, z.B. ob die Länge eines Abschnitts nicht größer ist als 8 Zeichen, ob Leerzeichen vorkommen oder Sonderzeichen etc. Allerdings hab ich keinen Schimmer wie ich das Umsetzen soll :/
Es würde vorerst reichen, wenn die Funktion die 8.3-Konformität recht gut "erraten" kann, also wirklich nur anhand spezieller Indizien sagt "ja" oder "nein".
Bitte helft mir *verzweifelt*.
Comment