xaero1982
Goto Top

Batch - Umlaute usw

Moin Zusammen,

ich hab ein PHP Script in dem ich eine Batch aufrufe und Parameter übergebe.
Klappt so weit.
Wenn in dem Parameter ein Sonderzeichen habe gibt es folgendes Problem:

In dem Parameter werden Dateinamen übergeben.
Damit auch Dateinamen mit Leerzeichen gehen habe ich das in "" gesetzt. Klappt auch, sofern ich den Parameter mit %~1 bzw. %~2 angebe.
Hat der Parameter aber nun ein Sonderzeichen zerhackt er es mir.
Wenn ich %1 und %2 angebe geht es auch mit Sonderzeichen, aber dann eben nicht mehr mit Anführungszeichen, weil der Pfad dann so aussieht:
c:\bla\bla\"dateiname" und damit kann die Datei nicht mehr gefunden werden.

Jemand eine Idee wie ich das beheben kann? Das sowohl als auch geht?

Grüße
xaero

Content-Key: 330897

Url: https://administrator.de/contentid/330897

Ausgedruckt am: 19.03.2024 um 11:03 Uhr

Mitglied: vossi31
vossi31 02.03.2017 um 10:20:30 Uhr
Goto Top
Moin,

ich nehme an, dass du php-seitig das hier berücksichtigt hast?
https://www.php.de/forum/webentwicklung/php-einsteiger/php-tipps-2009/61 ...

Wenn es also ein reines Bat-Problem ist kannst du zur Not ja deine Parameter in eine kleine Textdatei schreiben und diese dann einlesen - nicht schön, aber vielleicht funktioniert's?

Henning
Mitglied: Xaero1982
Xaero1982 02.03.2017 um 11:41:14 Uhr
Goto Top
Moin Henning,

was genau meinst du?
Die Doppelten ""?
Ja ...

Meine sieht so aus:
exec("cmd /c C:\\xampp\\htdocs\\stamp\\pdfsplit.bat \"$UpFile\" \"$final_file\" ");  

In den Variablen steht der Ursprungsdateiname und der Zielname drin.

Mit der Textdatei probiere ich mal aus.

Grüße
Mitglied: Xaero1982
Xaero1982 02.03.2017 um 12:28:23 Uhr
Goto Top
Ehm ja face-smile

Ich vermute, dass es an meinem Testobjekt gelegent hat.
Ich habe nämlich meine PDF "Überraschung.pdf" mal in einen anderen Ordner kopiert.
Dann habe ich eine andere Datei ebenfalls "Überraschung.pdf" genannt und was passierte? Nicht wie erwartet die Meldung, dass sie bereits vorhanden ist ... sondern ich hatte nun zwei Dateien dort, die "Überraschung.pdf" heißen.

Ein Blick in eine cmd brachte Erleuchtung:

''berraschung.pdf  
Überraschung.pdf

So ähnlich siehts aus. Die '' können hier auch nicht dargestellt werden.
Nun geht es offenbar ...

Grüße
Mitglied: Xaero1982
Xaero1982 02.03.2017 um 12:35:12 Uhr
Goto Top
Gut, noch geht es nicht ganz, denn jetzt macht er das aus einem Ü:


Da das dann auch in dem erzeugten Link steht wird der Zugriff nichts... gnarf face-sad