如何不使用“ For Each In”直接访问对象属性?

时间:2019-05-01 13:29:29

标签: vbscript asp-classic

我正在使用FileSystemObject为文件夹的内容构建对象。

Set fs = Server.CreateObject("Scripting.FileSystemObject")
Set fo = fs.GetFolder(server.MapPath("My_Folder"))

此文件夹应仅包含一个文件。我可以使用fo.files.count进行确认:

If fo.Files.Count = 1 Then ...

但是如何不使用fo循环而直接从for each in对象访问该1个文件的属性?我知道我可以使用以下方式检索该文件的文件名:

For Each x In fo.Files
  Response.write x.Name
Next

但是,如果只有一个文件,为什么还要循环?不能直接从fo对象访问属性吗?

Dim fs : Set fs = Server.CreateObject("Scripting.FileSystemObject")
Dim fo : Set fo = fs.GetFolder(server.MapPath("My_Folder"))

If fo.Files.Count = 1 Then
  response.write fo.Files(0).Name ' doesn't work
  response.write fo.Files.Item(0).Name ' doesn't work   
  response.write fo.Files.file(0).Name ' doesn't work   
  response.write fo.File(0).Name ' doesn't work
End If

Set fo = Nothing
Set fs = Nothing

我尝试了许多组合,但是除非使用fo循环,否则我无法弄清楚如何直接访问For Each In对象属性。

0 个答案:

没有答案