PDF per CMD öffnen Sonderzeichen
Guten Morgen,
ich möchte per Batch eine PdF mit Edge öffnen.
Problem:
Umlaute und Sonderzeichen. Ich habe schon die Datei auf OEM850 umgestellt.
Ist Zustand batch datei:
start "" msedge "Q:\-1- DSGVO\-1- Datenschutzinformation für Mitarbeiter\Datenschutzinformation für Mitarbeiter.pdf"
bei Egde kommt "an":
file:/Q:/-1-%20DSGVO/-1-file:(Q:/-1-%20Datenschutzinformation%20fnr%20Mitarbeiter/Datenschutzinformation%20fnr%20Mitarbeiter.pdf
Stehe gerade vor der Wand und komme nicht weiter![face-wink face-wink](/images/icons/fa/light/face-laugh-wink.svg)
Danke
ich möchte per Batch eine PdF mit Edge öffnen.
Problem:
Umlaute und Sonderzeichen. Ich habe schon die Datei auf OEM850 umgestellt.
Ist Zustand batch datei:
start "" msedge "Q:\-1- DSGVO\-1- Datenschutzinformation für Mitarbeiter\Datenschutzinformation für Mitarbeiter.pdf"
bei Egde kommt "an":
file:/Q:/-1-%20DSGVO/-1-file:(Q:/-1-%20Datenschutzinformation%20fnr%20Mitarbeiter/Datenschutzinformation%20fnr%20Mitarbeiter.pdf
Stehe gerade vor der Wand und komme nicht weiter
Danke
Please also mark the comments that contributed to the solution of the article
Content-ID: 22660887691
Url: https://administrator.de/contentid/22660887691
Printed on: September 1, 2024 at 08:09 o'clock
9 Comments
Latest comment
Moin,
probiere das mal:
@echo off
setlocal
rem Set the PDF file path
set "pdfPath=Q:\-1- DSGVO\-1- Datenschutzinformation für Mitarbeiter\Datenschutzinformation für Mitarbeiter.pdf"
rem Use PowerShell to URL-encode the path and open it with Edge
powershell -command "Start-Process 'msedge' (('file:///%s' -f [System.Web.HttpUtility]::UrlPathEncode('%pdfPath%')).Replace('\','/'))"
endlocal
probiere das mal:
@echo off
setlocal
rem Set the PDF file path
set "pdfPath=Q:\-1- DSGVO\-1- Datenschutzinformation für Mitarbeiter\Datenschutzinformation für Mitarbeiter.pdf"
rem Use PowerShell to URL-encode the path and open it with Edge
powershell -command "Start-Process 'msedge' (('file:///%s' -f [System.Web.HttpUtility]::UrlPathEncode('%pdfPath%')).Replace('\','/'))"
endlocal
Dann ist dieser in der standard Powershell Umgebung wohl nicht verfügbar.
Dann halt einen eigenen URL-Encoding-Mechanismus in PowerShell implementieren.
Probiere das mal:
@echo off
setlocal
rem Set the PDF file path
set "pdfPath=Q:\-1- DSGVO\-1- Datenschutzinformation für Mitarbeiter\Datenschutzinformation für Mitarbeiter.pdf"
rem Use PowerShell to URL-encode the path and open it with Edge
powershell -command ^
"$path='%pdfPath%';" ^
"$urlEncodedPath=[System.String]::Join('/', $path -split '\\' | ForEach-Object { $_ -replace ' ', '%20' -replace 'ä', '%C3%A4' -replace 'ö', '%C3%B6' -replace 'ü', '%C3%BC' -replace 'ß', '%C3%9F' });" ^
"Start-Process 'msedge' ('file:///' + $urlEncodedPath)"
endlocal
Dann halt einen eigenen URL-Encoding-Mechanismus in PowerShell implementieren.
Probiere das mal:
@echo off
setlocal
rem Set the PDF file path
set "pdfPath=Q:\-1- DSGVO\-1- Datenschutzinformation für Mitarbeiter\Datenschutzinformation für Mitarbeiter.pdf"
rem Use PowerShell to URL-encode the path and open it with Edge
powershell -command ^
"$path='%pdfPath%';" ^
"$urlEncodedPath=[System.String]::Join('/', $path -split '\\' | ForEach-Object { $_ -replace ' ', '%20' -replace 'ä', '%C3%A4' -replace 'ö', '%C3%B6' -replace 'ü', '%C3%BC' -replace 'ß', '%C3%9F' });" ^
"Start-Process 'msedge' ('file:///' + $urlEncodedPath)"
endlocal
Moin,
Dein eigentliches Problem ist hier das "ü". Speichere dein Skript in UTF8-Kodierung (ohne BOM) und ergänze folgende Zeile am Anfang deines Skripts:
Gruß Thomas
Zitat von @OlliSe:
Ist Zustand batch datei:
start "" msedge "Q:\-1- DSGVO\-1- Datenschutzinformation für Mitarbeiter\Datenschutzinformation für Mitarbeiter.pdf"
bei Egde kommt "an":
file:/Q:/-1-%20DSGVO/-1-file:(Q:/-1-%20Datenschutzinformation%20fnr%20Mitarbeiter/Datenschutzinformation%20fnr%20Mitarbeiter.pdf
Leerzeichen gibt es in URL-Pfaden nicht, dass diese durch "%20" ersetzt werden, ist ganz normal und funktioniert auch problemlos.Ist Zustand batch datei:
start "" msedge "Q:\-1- DSGVO\-1- Datenschutzinformation für Mitarbeiter\Datenschutzinformation für Mitarbeiter.pdf"
bei Egde kommt "an":
file:/Q:/-1-%20DSGVO/-1-file:(Q:/-1-%20Datenschutzinformation%20fnr%20Mitarbeiter/Datenschutzinformation%20fnr%20Mitarbeiter.pdf
Dein eigentliches Problem ist hier das "ü". Speichere dein Skript in UTF8-Kodierung (ohne BOM) und ergänze folgende Zeile am Anfang deines Skripts:
>nul chcp 65001
Gruß Thomas
Hallo,
Weil dir ein bund Petersilie dein Blick versperrte.
Gruss,
Peter
Weil dir ein bund Petersilie dein Blick versperrte.
Gruss,
Peter