2017-12-11 10 views
0

Ich habe ein einfaches Skript, das perfekt auf einem Computer funktioniert. Das Skript wurde in VBScript geschrieben und mit UFT (Unified Functional Testing) ausgeführt.VBScript kann Ordner nicht erstellen

Option Explicit 
Dim objFSO, objFolder, strDirectory 

strDirectory = "Path" 
Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objFolder = objFSO.CreateFolder(strDirectory) 

Wenn ich jedoch versuche, diesen Code auf einem anderen Computer auszuführen, hat es nicht funktioniert. Ich habe den Pfad zu einem anderen Pfad geändert, der dem neuen Computer entspricht. Die Überraschung kommt, wenn ich versuche, den Code auszuführen, ohne die Variable strDirectory mit:

Option Explicit 
Dim objFSO, objFolder, strDirectory 

strDirectory = "Path" 
Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objFolder = objFSO.CreateFolder("path") 

, die in dem neuen Computer einwandfrei funktioniert.

Weiß jemand, warum passiert das? Wie kann ein Skript in einem Computer funktionieren, aber nicht in einem anderen Computer? Und außerdem, wie kann das Skript in diesem neuen Computer arbeiten, wenn die Variable strDirectory nicht verwendet wird, um den Pfad zu speichern?

+2

Welche Fehler Sie erhalten, wenn Sie den Pfad nicht tun hart codieren? –

+2

Sie sind möglicherweise nicht berechtigt, einen Ordner des angegebenen Standorts zu erstellen. Versuchen Sie manuell zu erstellen und zu überprüfen. –

+0

Panka, ich habe den Fehler "Ordner kann nicht erstellt werden. Der Pfad ist falsch" Es war so etwas. Ich kann seit Freitag nicht auf den Computer zugreifen, aber ich erinnere mich, dass der Fehler in etwa so war. Mein Gefühl war, dass das Skript den Ordner nicht erstellen konnte, weil es ein falscher Pfad war, aber wie ich in der Frage erwähnt habe, funktionierte das Schreiben des gleichen Pfades explizit in der Funktion. –

Antwort

-1

Versuchen Sie, den gesamten Pfad:

Option Explicit 
Dim objFSO, objFolder, strDirectory 

strDirectory = "Path" 
Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objFolder = objFSO.CreateFolder("C:\\path") 
Verwandte Themen