VBS FileSystemObject.DeleteFolder路径不存在,但FileSystemObject.FolderExists为true

时间:2015-06-04 12:33:53

标签: vbscript filesystemobject

我接近疯了。我在VBS中有一个代码配置,它会抛出一个逻辑上不可能的错误。

检查此代码: (你需要至少10个声望来发布图片。这肯定是有帮助的。) http://i.stack.imgur.com/jjNDm.png

如果文件夹revFolder存在,则(强制)将其删除。 这也意味着如果文件夹不存在,则不会执行DeleteFolder。 我确实在我面前有文件夹,它在那里,我可以看到它。它是由相同的代码创建的几行。 FolderExists返回true,因此该文件夹存在。然而,它会抛出错误"未找到路径"。

发生了什么事?这必须是VBS中的错误,对吧?

2 个答案:

答案 0 :(得分:5)

.FolderExists容忍虚假的“\”,.DeleteFolder不会:

>> WScript.Echo goFS.FolderExists("C:\Documents and Settings\eh\30643986\")
>> goFS.DeleteFolder "C:\Documents and Settings\eh\30643986\"
>>
-1
Error Number:       76
Error Description:  Path not found
>> goFS.DeleteFolder "C:\Documents and Settings\eh\30643986"
>> WScript.Echo goFS.FolderExists("C:\Documents and Settings\eh\30643986")
>>
0
>>

答案 1 :(得分:1)

尝试这样的事情:https://msdn.microsoft.com/en-us/library/fyy7a5kt%28v=vs.110%29.aspx

有时您需要使用Path.Combine函数来正确格式化文件路径(它将使用所有相应的转义字符)。

修改

在本文中查找buildpath:http://windowsitpro.com/scripting/understanding-vbscript-manipulating-files-filesystemobject