Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

VBS: lange Padangaben





Frage

Hallo zusammen, hab´ da noch so ein Problem: Beim Windpws gibt es lange Pfadnamen mit einer Leertaste dazwischen. Bsp.: C:\Progs\Common\Microsoft Shared\PhotoEd\ Beim VBS und Batch gibt es hier eine Fehlermeldung, weil ich glaube, daß nur das 8.3-Format üblich ist. Mein Code: Dim wshshell, Pfad Set wshshell = CreateObject("WScript.Shell") ´Pfad = ´"C:\Progs\Common\Microsoft Shared\PhotoEd\"´ Pfad = "C:\PhotoEd\" wshshell.Run (Pfad & "PHOTOED.EXE") Wie kann ich den PhotoEditor mit dem Orginal-Pfadnamen trotzdem per VBS starten? MfG, WSH-Kid

Antwort 1 von Anführer

Mit 8.3 hat das nichts zu tun. Probier mal mit Anführerzeichen (Ascii-Zeichen Nr. 34):

wshshell.Run (chr(34)&Pfad & "PHOTOED.EXE"&chr(34))

Auch bei der Batch:
"C:\Progs\Common\Microsoft Shared\PhotoEd\PHOTOED.EXE"

Antwort 2 von Anführer

Noch zur Erklärung: Es liegt am Leerzeichen im Pfad. Normalerweise trennt ein Leerzeichen den Namen der Datei von den Argumenten, die der Datei bei der Ausführung übergeben werden sollen.
Um diese Trennfunktion des Leerzeichens aufzuheben, braucht man die Anführerzeichen!

Antwort 3 von WSH-Kid

Hallo Anführer,

danke dafür.
Wenn ich´s richtig kapiere, bettet man die Zeichenkette nochmal durch chr(34) in eine Zeichenkette ein.

MfG, WSH-Kid

Antwort 4 von Anführer

Genau. Wenn man will kann man es statt so:
msgbox chr(34)&"Anführerzeichen"&chr(34)
auch so schreiben:
msgbox """Anführerzeichen"""