문제

내가 화를 낼거야? FileSystemObject (Classic ASP)가있는 폴더에서 첫 번째 파일을 보유 할 수있는 방법을 찾을 수 없습니다. 대부분의 컬렉션을 사용하면 인덱스 0 또는 1이 작동 할 수 있다고 생각하지만 IIS는 "잘못된 절차 호출 또는 인수"라고 말합니다.

이 마지막 2 줄 중 어느 것도 작동하지 않습니다.

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

내가 거대 스러우 거나이 특정 컬렉션에 액세스하기 위해 색인을 사용하는 방법이 없습니까?

도움이 되었습니까?

해결책

파일 수집은 배열이 아니며 랜덤 액세스 기능이 포함되어 있지 않습니다. 이 기능이 절대적으로 필요한 경우,이 기능을 모방하는 가장 가까운 것은 폴더를 반복하고 발견 된 파일 이름을 포함하는 새 배열을 만들고이 새 배열을 랜덤 액세스 소스로 사용하고 파일 개체를 작성하는 것입니다. 배열 값.

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

나는 그것을 피할 수 있다면 이것을 추천하지 않을 것입니다.

다른 팁

아니요, 그러나 당신은 그것들을 열거하고 인덱스를 직접 추적 할 수 있습니다.

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
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top