Einzelnen Beitrag anzeigen
  #12 (permalink)  
Alt 22-08-2011, 15:39
sallow2001
 Registrierter Benutzer
Links : Onlinestatus : sallow2001 ist offline
Registriert seit: Oct 2010
Beiträge: 103
sallow2001 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Okay, ich dachte ich muss nicht so weit ausholen (man soll sich ja immer kurz fassen bei seinen Fragen ), aber dann muss es wohl sein, denn ich habe nun etwas entdeckt, was mich im Nachhinein noch mehr verwirrt.

Es geht um ein Skript, das sich ab einem Startverzeichnis durch die Unterverzeichnisse wühlt und dabei die Aktionen in eine BATCH-Datei schreibt.
Das Ergebnis würde in etwa so aussehen:

Code:
C:
cd \START
<mach etwas mit den Dateien>
cd Unterverzeichnis1
<mach etwas mit den Dateien>
cd ..
cd Unterverzeichnis2
<mach etwas mit den Dateien>
cd ..
cd Unterverzeichnis3
<mach etwas mit den Dateien>
cd ..
Und hierbei ergibt es sich, dass eines der besagten Unterverzeichnisse nicht als

Code:
cd TÄST
sondern als

Code:
cd T-ST
in die BATCH-Datei geschrieben wird, was natürlich zu einem Fehler führt, weil der Name falsch ist.

Woher die Verzeichnisse kommen, kann ich nicht sagen. Ich selber habe sie auch nicht. Der Fehler trat nur bei meinem Kollegen auf, der diese wohl aus irgendwelchen Download-Archiven mitentpackt hat.

Ich hatte nun angenommen, dass das Verzeichnis irgendwie falsch kodiert wurde oder sowas, so dass der Name nicht richtig gelesen werden konnte.

Nun hat sich aber ergeben, dass das Skript eigentlich alles richtig macht. Das Problem ergibt sich nämlich erst, nachdem ich die PHP-Datei in eine ausführbare Datei kompiliert (bamcompile) habe.
Das Skript ist nicht für mich, sondern für einen Kollegen und ich wollte vermeiden, dass er sich deshalb extra lokal einen Webserver installieren muss, um das Skript nutzen zu können.

Starte ich das Skript im Browser und gebe dort den Dateinamen aus, funktioniert es einwandfrei. (Auch ohne expliziter Angabe eines Zeichensatzes.)

Kompiliere ich jedoch die PHP und starte sie dann von der Kommandozeilenebene aus, kommt es zu dem besagten Umlaut-Fehler.

Ich hoffe, jetzt ist die Situation etwas klarer. Oder?

cya

Geändert von sallow2001 (22-08-2011 um 15:43 Uhr)
Mit Zitat antworten