Vbscript FileSystemObject.FolderExists在文件名中被空格打断
我有一个目录,其路径包含一个空格(Vbscript FileSystemObject.FolderExists在文件名中被空格打断,vbscript,filesystemobject,Vbscript,Filesystemobject,我有一个目录,其路径包含一个空格(C:\foo bar\)。目录已存在 我可以打开命令提示符并执行以下操作: cd "C:\foo bar\" 我的当前目录将按预期更改为该目录 在VBS中,我执行以下操作: Dim fso: Set fso = CreateObject("Scripting.FileSystemObject") Dim path: path = "C:\foo bar\" If Not fso.FolderExists(Chr(34) & path & C
C:\foo bar\
)。目录已存在
我可以打开命令提示符并执行以下操作:
cd "C:\foo bar\"
我的当前目录将按预期更改为该目录
在VBS中,我执行以下操作:
Dim fso: Set fso = CreateObject("Scripting.FileSystemObject")
Dim path: path = "C:\foo bar\"
If Not fso.FolderExists(Chr(34) & path & Chr(34)) Then
MsgBox "escaped path doesn't exist"
End If
If Not fso.FolderExists(path) Then
MsgBox "unquoted it's still not found!"
End If
。。。当脚本运行时,我会看到弹出对话框,但不应该
这似乎也会导致MoveFile
功能出现问题
这个VBS脚本是由VB6服务执行的,所以我不能选择用更现代的方式编写它。上面的转义路径将不存在,因为没有路径
“c:\foo bar”
。我的猜测是,罪魁祸首可能在于VB6传递给脚本的论点(大概是);如果包含空格,VBS会将其视为多个参数。但我在这里猜测。服务帐户有权访问该文件夹吗?fso.FolderExists(path)
应该可以。如果没有,那就是出了问题。检查运行脚本的帐户是否有权访问正在检查的路径的父文件夹。