我有一个文件夹,确实存在于网络上。在浏览到该目录(从Windows 7 Enterprise x64)之前运行以下代码时,它将返回False。浏览到目录后运行代码时,它将返回True。网络路径上VBScript FolderExists返回False
Const SHAREPOINT_FOLDER = "\\MyServer\sites\IT\MySite\Shared%20Documents\"
MsgBox sharePointExists()
Function sharePointExists()
Set fso = CreateObject("Scripting.FileSystemObject")
sharePointExists = fso.FolderExists(SHAREPOINT_FOLDER)
Set fso = Nothing
End Function
我还没有在任何其他操作系统上测试过这个。这是一个SharePoint 2010网站目录。同样,该文件夹确实存在,并且可以由我读写。如果我在Windows资源管理器中手动浏览它,此脚本将返回True,直到我重新启动计算机。一旦我重新启动,脚本将返回False。
关于使这项工作的任何建议?这是我的程序的一个关键部分,我需要在没有手动浏览目录的情况下运行它。
注意:我用FileExists替换了FolderExists并为其指定了一个有效的文件名。 FileExists存在同样的问题。
如果我替换一个Wscript.Shell对象并执行一个shell.Run,它会毫无问题地打开该文件夹。这个过程需要几秒钟的时间(就像我手动浏览它时一样),但是一旦我这样做,我就会每次都变为True。
请注意:如果此功能在我的网络之外运行,我希望它返回False。我不能认为它是真的(否则我根本不会检查是否存在)。此外,即使在网络上,该文件夹可能无法在100%的时间内访问 - 另一个检查存在的理由。
谢谢你的提示,但是这并没有解决我的问题:(我仍然会False,除非我先手动浏览到这个文件夹。 – RalphyZ 2015-02-23 14:45:55