从文件读取路径并检查文件是否存在于指定路径中

时间:2015-03-03 10:30:32

标签: vbscript

我正在尝试从文本文件中读取PATH并检查该文件是否存在于“input.txt”文件中指定的PATH中。虽然该文件存在于指定位置。循环继续运行。请帮助

以下是我的VBScript

Set oReadObj  = CreateObject("Scripting.FileSystemObject")
set oRead = oReadObj.OpenTextFile("C:\input.txt", 1)
loc = oRead.ReadAll()

Do Until oReadObj.FileExists(loc) 
wscript.sleep 5000    
Loop

msgbox "file found"

2 个答案:

答案 0 :(得分:0)

.ReadAll()可能包含文件中的EOL,它肯定不是路径的一部分;使用.ReadLine(),因为你只想获得一个路径。

第二个想法:

您的文件中可能还有其他垃圾(空格,BOM,...)。你尝试过像

这样的东西吗?
WScript.Echo ">" & loc & "<"

检查那些或错别字?

<强>重新启动:

根据您的意见:

  

如果我指定“路径(安装程序的位置)”而不是变量   “loc”,我得到了预期的结果

     

这是我的“input.txt”文件的内容   “C:\用户\管理员\下载\ Storage_Manager_Server - 窗口x86_64-6.0.0.ex E”

我们可以

  1. 排除权限问题(如果弹出“管理员”,通常会怀疑)
  2. 得出结论loc - 即文件的内容 - 应该归咎于
  3. 如果我们确定EOL,空白,拼写错误 导致.FileExists失败,那么最可能的假设是:该文件包含“(引用路径),这对shell很有用,但对FileSystemObject方法来说是致命的。

答案 1 :(得分:0)

你不需要循环来检查文件是否存在(如果你有完整的路径),这里是你需要的代码。

Set oReadObj  = CreateObject("Scripting.FileSystemObject")
set oRead = oReadObj.OpenTextFile("C:\input.txt", 1)
loc = oRead.ReadAll()

If oReadObj.FileExists(loc) Then msgbox "file found" else msgbox "file not found"