Frage

Bin ich verrückt zu werden? Ich kann nicht einen Weg finden, hält die ersten Datei in einem Ordner mit dem Filesystem (klassischen ASP) zu erhalten. Bei den meisten Sammlungen würden Sie denken, der Index 0 oder 1 funktionieren kann, aber IIS sagt: „ungültiger Prozedur-Aufruf oder Argument“.

Keine dieser letzten 2 Zeilen arbeiten:

Set oFileScripting = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFileScripting.GetFolder(sFolder)
Set oFiles = oFolder.Files
If oFiles.Count = 0 Then Response.Write "no files"
Response.Write oFiles(0).Name
Response.Write oFiles.Item(1).Name

Bin ich mega-dumm, oder gibt es keine Möglichkeit, einen Index zu verwenden, um diese besondere Sammlung zugreifen?

War es hilfreich?

Lösung

Die Dateien Collection ist nicht ein Array, und enthält keine Schreib-Lese-Funktionalität. Wenn Sie unbedingt diese Funktionalität benötigen, zu imitieren, die nächste Sache wäre es, durch die Ordner wiederholen und ein neues Array mit den Namen der Dateien gefunden, verwenden Sie diese neue Array als Schreib-Lese-Quelle erstellen, und erstellen Sie Datei-Objekte aus dem Array-Werte.

ReDim FileArray(oFiles.Count)

i = 0
For Each oFile In oFiles
   FileArray(i) = oFile.Name
   i = i + 1
Next

Set oFile = oFileScripting.GetFile(sFolder + "\" + FileArray(0))

Ich würde das nicht empfehlen, wenn es überhaupt vermeidbar ist.

Andere Tipps

Nein

, aber man kann sie aufzählen und verfolgen den Index selbst:

Set oFileScripting = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFileScripting.GetFolder(sFolder)
Set oFiles = oFolder.Files
If oFiles.Count = 0 Then Response.Write "no files"

i = 0
For Each oFile In oFiles
   Response.Write i & " = " & oFile.Name
   i = i + 1
Next
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top