2012-09-19 33 views
0

我试图将工作目录作为命名参数传递给vbscript。系统通常会扩展“。”到当前路径,但是当我检查命名的参数时,我只是得到字符串“。”。vbscript作为命名参数传递当前目录

这里的命令行:

cscript myscript.vbs /a:"first arg" /b:second /c:. 

这里的脚本:

dim args : set args = wscript.arguments.named 
    wscript.echo args.item("a") 
    wscript.echo args.item("b") 
    wscript.echo args.item("c") 

下面是输出:

first arg 
    second 
    . 
+1

您将无法传入一个点,并期望它在点作为字符串传递时解析为完整路径。看看这里,你可以在你的脚本中获得完整的路径。 http://stackoverflow.com/questions/2129327/how-to-get-the-fully-qualified-path-for-a-file-in-vbscript – Sorceri

回答

1
Set fso = CreateObject("Scripting.FileSystemObject") 
WScript.Echo fso.GetAbsolutePathName(args("c")) 

或者你可以使用/c:"%CD%"代替/c:.

但是,如果您始终想知道当前目录,则不需要将它作为参数传递。只需使用

cwd = CreateObject("WScript.Shell").CurrentDirectory