nicht finden Ich versuche, ein VBScript zu schreiben, das zwei andere VBScripts ausführen wird. Hier ist meine aktuellen Code ist:Laufendes VBScript von VBScript, kann Datei
Dim objShell, oFSO
Set objShell = Wscript.CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")
' Determine script location for VBScript
sScriptDir = oFSO.GetParentFolderName(WScript.ScriptFullName)
' Run scripts
objShell.Run oFSO.BuildPath(sScriptDir, "code\saveExcel.vbs") , 0, true
objShell.Run oFSO.BuildPath(sScriptDir, "code\launchScript.vbs") , 0, true
' close shell
Set objShell = Nothing
Der Ordner ist wie folgt aufgebaut:
Wenn ich mein Skript ausführen ich diese Fehlermeldung:
Ich habe geschrieben Dutzende von Skripte, die andere Skripte im selben Format wie das obige Skript ausführen, aber das ist das einzige, das nicht funktioniert und ich habe keine Ahnung warum.
Welchen Wert sind Sie in Ihrem 'sScriptDir' Variable bekommen. FSO hat ein Limit von 255 Zeichen für Pfade, und da dies möglicherweise ein Netzwerklaufwerk ist, das möglicherweise einige Ordner tief vergraben ist, erhält "GetParentFolderName" möglicherweise den längeren UNC-Pfad und überschreitet das Zeichenlimit. – JNevill
Es ist 57 Zeichen lang, viel weniger als die maximale Länge. Es zieht auch nicht den vollen UNC-Pfad, aber wenn es wäre, wäre es immer noch weniger als 100 Zeichen. –
Erhalten Sie den gleichen Fehler, wenn Sie den Pfad fest codieren anstatt 'BuildPath' zu verwenden? Ich bin hier ratlos, da ich mit deinem Code alles gut sehe. – JNevill