File Exists方法返回什么值?

时间:2013-10-28 16:26:55

标签: vbscript

我正在尝试在VBScript中使用FileExists方法,并且根据我阅读的所有文档,返回的值不是布尔值。我在Windows 7,Windows Server 2008和Windows Server 2003上运行以下脚本,而不是返回True或False,如果文件存在则返回-1,如果文件不存在则返回0。

Dim oFile, vFile
Set oFile = CreateObject("Scripting.FileSystemObject")
vFile = "C:\pagefile.sys"
WScript.Echo oFile.FileExist(vFile)

有谁知道发生了什么事?

谢谢,

TB

2 个答案:

答案 0 :(得分:2)

.FileExists返回boolean子类型的变体。从输出中得出结论可能会产生误导,特别是如果您的输出代理是愚蠢的WScript.Echo:

>> fe = GoFS.FileExists("00.vbs")
>> WScript.Echo TypeName(fe), fe, CStr(fe), CStr(-1)
>>
Boolean -1 True -1

至少CStr()足够了解子类型以区分-1(这不是True,但在某些情况下被解释为True)并且为真。

答案 1 :(得分:0)

WScript.Echo oFile.FileExist(vFile)缺少“s”。它应该是

WScript.Echo oFile.FileExists(vFile).