Geisterwolf
Lt. Commander Pro
- Registriert
- Juni 2008
- Beiträge
- 1.766
Hallo zusammen,
ich habe ein Batchfile, welches von extern einen String erhält. Dabei handelt es sich um Pfad und Name einer Datei mit UNC Pfad, welche mit Adobe Reader geöffnet werden soll.
Aufgerufen wird die Geschichte via Browser. Firefox macht das auch sauber. Ich erhalte als String \\Server\Pfad\Datei.pdf
Mein Problem ist nun Chrome und Edge, diese liefern mir nicht die \ und Blanks, sondern \= %5C und Blank= %20.
Nun sollte das in der Batch Datei gewandelt werden, was allerdings nicht so einfach ist wie ich dachte, da die % Zeichen zum Variablen Aufruf gehören.
Dieser Befehl wird in der Browser Adresszeile ausgeführt:
startpdf:\\spielwiese2019\WebPDFTest\pfad mit leer\test.pdf
Um zu sehen was passiert habe ich mir an diversen Punkte Printouts angehängt.
str1 = "%5C%5Cspielwiese2019%5CWebPDFTest%5Cpfad%20mit%20leer%5Ctest.pdf"
str2 = "%5\%5\spielwiese2019%5\WebPDFTest%5\pfad%20mit%20leer%5\test.pdf"
str3 = "%5\%5\spielwiese2 19%5\WebPDFTest%5\pfad%2 mit%2 leer%5\test.pdf"
Ich bekomme also wohl \ und Blanks rein, aber die Variable die Chrome setzt nicht komplett raus. Und nun stehe ich etwas im Wald und weiss nicht weiter.
Kann man ein % überhaupt replacen mit reinen Batch Mitteln?
Merci und Grüssle
Jani
ich habe ein Batchfile, welches von extern einen String erhält. Dabei handelt es sich um Pfad und Name einer Datei mit UNC Pfad, welche mit Adobe Reader geöffnet werden soll.
Aufgerufen wird die Geschichte via Browser. Firefox macht das auch sauber. Ich erhalte als String \\Server\Pfad\Datei.pdf
Mein Problem ist nun Chrome und Edge, diese liefern mir nicht die \ und Blanks, sondern \= %5C und Blank= %20.
Nun sollte das in der Batch Datei gewandelt werden, was allerdings nicht so einfach ist wie ich dachte, da die % Zeichen zum Variablen Aufruf gehören.
Dieser Befehl wird in der Browser Adresszeile ausgeführt:
startpdf:\\spielwiese2019\WebPDFTest\pfad mit leer\test.pdf
Um zu sehen was passiert habe ich mir an diversen Punkte Printouts angehängt.
Code:
@echo off
Setlocal EnableDelayedExpansion
set str=%1
set str=!str:startpdf:=!
echo !str! > c:\_transfer\str1.txt
set str=!str:%5C=\!
echo !str! > c:\_transfer\str2.txt
set str=!str:%20= !
echo !str! > c:\_transfer\str3.txt
cd "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\"
start /B AcroRd32.exe !str!
str1 = "%5C%5Cspielwiese2019%5CWebPDFTest%5Cpfad%20mit%20leer%5Ctest.pdf"
str2 = "%5\%5\spielwiese2019%5\WebPDFTest%5\pfad%20mit%20leer%5\test.pdf"
str3 = "%5\%5\spielwiese2 19%5\WebPDFTest%5\pfad%2 mit%2 leer%5\test.pdf"
Ich bekomme also wohl \ und Blanks rein, aber die Variable die Chrome setzt nicht komplett raus. Und nun stehe ich etwas im Wald und weiss nicht weiter.
Kann man ein % überhaupt replacen mit reinen Batch Mitteln?
Merci und Grüssle
Jani