属性 "CurrentDirectory" vbscript 中使用的目录名称无效
invalid Directory name used in property "CurrentDirectory" vbscript
我试图通过位于另一个目录中的 vbscript 编译 au3 脚本,所以我使用 "CurrentDirectory" 属性 使用此代码将工作目录从脚本目录更改为 au3 文件目录
drivepath = "K"
strTempTarget = "New Folder"
filename = "gate.jpg"
IconName = "102.ico"
Comm = "cmd /c " & "Aut2Exe.exe /in " & filename & ".au3" & " /out " & filename & ".exe" & " /icon " & IconName
Path = """" & drivepath & "\" & strTempTarget & """"
MsgBox(Path)
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.CurrentDirectory = Path
objShell.Run(Comm), 0, True
但是我得到一个错误"invalid file name or directory name"
因为 "strTempTarget" 值中有一个空的 space 我应该在目录名称的开头和结尾加上双引号 "Path" 我什至尝试使用 ASCII:类似
Path = Chr(34) & drivepath & "\" & strTempTarget & Chr(34)
但同样的错误不断出现
那么如何让这个脚本正常工作呢?
shell 需要引用路径,因为它使用 space 作为分隔符; .CurrentDirectory 'knows' 整个字符串(包括任何 spaces)是一个文件夹路径;所以不要引用 .CurrentDirectory.
的字符串
证据:
>> Set objShell = WScript.CreateObject("WScript.Shell")
>> Path = """C:\Documents and Settings"""
>> objShell.CurrentDirectory = Path
>>
Error Number: -2147024773
Error Description:
>> Path = "C:\Documents and Settings"
>> objShell.CurrentDirectory = Path
>>
>> <-- no news are good news
我试图通过位于另一个目录中的 vbscript 编译 au3 脚本,所以我使用 "CurrentDirectory" 属性 使用此代码将工作目录从脚本目录更改为 au3 文件目录
drivepath = "K"
strTempTarget = "New Folder"
filename = "gate.jpg"
IconName = "102.ico"
Comm = "cmd /c " & "Aut2Exe.exe /in " & filename & ".au3" & " /out " & filename & ".exe" & " /icon " & IconName
Path = """" & drivepath & "\" & strTempTarget & """"
MsgBox(Path)
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.CurrentDirectory = Path
objShell.Run(Comm), 0, True
但是我得到一个错误"invalid file name or directory name" 因为 "strTempTarget" 值中有一个空的 space 我应该在目录名称的开头和结尾加上双引号 "Path" 我什至尝试使用 ASCII:类似
Path = Chr(34) & drivepath & "\" & strTempTarget & Chr(34)
但同样的错误不断出现 那么如何让这个脚本正常工作呢?
shell 需要引用路径,因为它使用 space 作为分隔符; .CurrentDirectory 'knows' 整个字符串(包括任何 spaces)是一个文件夹路径;所以不要引用 .CurrentDirectory.
的字符串证据:
>> Set objShell = WScript.CreateObject("WScript.Shell")
>> Path = """C:\Documents and Settings"""
>> objShell.CurrentDirectory = Path
>>
Error Number: -2147024773
Error Description:
>> Path = "C:\Documents and Settings"
>> objShell.CurrentDirectory = Path
>>
>> <-- no news are good news