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"
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!
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
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"""
msgbox chr(34)&"Anführerzeichen"&chr(34)
auch so schreiben:
msgbox """Anführerzeichen"""

