Leerzeichen in Pfadangabe

  • VBScript

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Tim_u_Struppi.

    Leerzeichen in Pfadangabe

    Hallo zusammen, trotz langer Suche im Internet bekomme ich es nicht hin, eine Datei über ein VB Script zu starten. Diese Datei liegt im Verzeichnis "C:\Program Files", enthält also ein Leerzeichen.

    Ohne Leerzeichen im Pfad klappt es einwandfrei.
    Hier mein Script (das Script wird mit Administratorrechten gestartet und öffnet eine Powershell-Datei):

    Visual Basic-Quellcode

    1. If WScript.Arguments.length =0 Then
    2. Set objShell = CreateObject("Shell.Application")
    3. objShell.ShellExecute "wscript.exe", Chr(34) & _
    4. WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1
    5. Else
    6. Set WshShell = WScript.CreateObject("WScript.Shell")
    7. ' diese beiden Zeilen funktionieren nicht
    8. 'wshshell.Run "powershell.exe -executionpolicy bypass -noexit -nologo -command """c:\Program Files\xyz.ps1"""",0
    9. 'wshshell.Run "powershell.exe -executionpolicy bypass -noexit -nologo -command" & """c:\Program Files\xyz.ps1""",0
    10. 'wenn ich den Pfad mit Tilde kürze funktioniert es.
    11. wshshell.Run "powershell.exe -executionpolicy bypass -noexit -nologo -command c:\Progra~1\xyz.ps1",0
    12. end if

    Ich bin sicher, ich scheitere an den Hochkommas, die irgendwie anders gesetzt werden müssen. Über Hilfe bin ich sehr dankbar.

    Thema verschoben, CodeTags gesetzt ~VaporiZed

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    Probiert habe ich es nicht, aber stackoverflow meint:

    Visual Basic-Quellcode

    1. SET MY_PATH=c:\Program Files\
    2. wshshell.Run "powershell.exe -executionpolicy bypass -noexit -nologo -command ""%MY_PATH%\xyz.ps1"""

    so ungefähr …
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Hallo, Danke für die Mitarbeit. heute morgen habe ich die Lösung gefunden.

    Diese beiden Seiten brachten mich auf die richtige Spur.
    devblogs.microsoft.com/scripti…-run-a-powershell-script/
    http://devblogs.microsoft.com/scripting/how-to-use-vbscript-to-run-a-powershell-script/

    Die Pfadangabe muss mit einem Hochkomma eingeschlossen werden.
    Das gilt auch für eine Desktopverknüpfung.

    Hier die funktionierende Befehlszeile:
    WshShell.run "powershell -executionpolicy bypass -command ""& 'c:\Program Files\xyz.ps1'""",0