Question

Est-ce que je deviens fou? Je ne pas trouver un moyen de mettre la main sur le premier fichier dans un dossier avec le FileSystemObject (ASP classique). Avec la plupart des collections que vous penseriez l'indice 0 ou 1 pourrait fonctionner, mais IIS dit « appel de procédure non valide ou argument ».

Aucune de ces 2 dernières lignes fonctionnent:

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

Suis-je méga-bête, ou est-il pas moyen d'utiliser un index pour accéder à cette collection particulière?

Était-ce utile?

La solution

La collection de fichiers est pas un tableau, et ne contient pas la fonctionnalité d'accès aléatoire. Si vous avez absolument besoin de cette fonctionnalité, la chose la plus proche de l'imiter serait de parcourir le dossier et créer un nouveau tableau contenant les noms des fichiers trouvés, utilisez ce nouveau tableau comme source d'accès aléatoire, et créer des objets de fichiers à partir de la Les valeurs de tableau.

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))

Je certainement ne recommanderais pas cela s'il est tout évitable.

Autres conseils

Non, mais vous pouvez les énumérer et de suivre l'index vous:

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top