Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln visar hur du använder JScript eller JavaScript för att gå igenom en samling.
Ursprunglig produktversion: Visual Studio
Ursprungligt KB-nummer: 229693
Sammanfattning
Den här artikeln beskriver hur du använder skript på serversidan på ASP-sidor (Active Server Pages) med Visual Basic Script (VBScript) och JScript eller JavaScript för att gå igenom en samling. I VBScript kan du använda loopen FOR EACH...NEXT för att gå igenom en samling. I JScript eller JavaScript måste du använda ett uppräkningsobjekt.
Mer information
Exemplen i den här artikeln använder filsystemobjektet för att korsa en mapp (i det här fallet C:\Text) och visa en lista över alla filer som finns i mappen. I det första exemplet används en FOR EACH...NEXT loop i VBScript för att passera:
- Skapa en ny mapp i rotmappen på enhet C och ge den namnet Text.
- Placera fem textfiler i katalogen du skapade.
- Skapa en ny ASP-sida och lägg till följande VBScript-kod:
<% @LANGUAGE="VBScript" %>
<%
'Reference the FileSystemObject
set FSO = Server.CreateObject("Scripting.FileSystemObject")'Reference the Text directory
set Folder = FSO.GetFolder("C:\Text")'Reference the File collection of the Text directory
set FileCollection = Folder.Files
Response.Write("VBScript Method<BR>")'Display the number of files within the Text directory
Response.Write("Number of files found: " & FileCollection.Count & "<BR>")'Traverse through the FileCollection using the FOR EACH...NEXT loop
For Each FileName in FileCollection
strFileName = FileName.Name
Response.Write(strFileName & "<BR>")
Next
'De-reference all the objects
set FileCollection = Nothing
set Folder = Nothing
set FSO = Nothing
%>
Följande exempel visar motsvarande men använder JScript eller JavaScript och uppräkningsobjektet enligt nedan. Följ stegen som beskrevs tidigare, förutom att använda följande kod i steg 3.
<% @LANGUAGE="JScript" %>
<%
// Reference the FileSystemObject
var FSO = Server.CreateObject("Scripting.FileSystemObject");
// Reference the Text directory
var Folder = FSO.GetFolder("c:\\Text");
// Reference the File collection of the Text directory
var FileCollection = Folder.Files;
Response.Write("JScript Method<BR>");
// Display the number of files within the Text directory
Response.Write("Number of files found: " + FileCollection.Count + "<BR>");
// Traverse through the FileCollection using the FOR loop
for(var objEnum = new Enumerator(FileCollection); !objEnum.atEnd(); objEnum.moveNext()) {
strFileName = objEnum.item();
Response.Write(strFileName + "<BR>");
}
// Destroy and de-reference enumerator object
delete objEnum;
objEnum = null;
// De-reference FileCollection and Folder object
FileCollection = null;
Folder = null;
// Destroy and de-reference FileSystemObject
delete FSO;
FSO = null;
%>
Kommentar
Uppräkningsobjektet instansieras i FOR-loopen, vilket är okej i JScript eller JavaScript. Syntaxen för FOR-instruktionen är följande:
FOR(initialize; test; inkrement) -instruktion;
Utdata för varje exempel i den här artikeln visas på olika sätt. I VBScript visar utdata endast filnamnet och filnamnstillägget enligt följande:
VBScript Method
Number of files found: 5
test1.txt
test2.txt
test3.txt
test4.txt
test5.txt
I JScript eller JavaScript visar utdata den fysiska mappen, filnamnet och filnamnstillägget:
JScript Method
Number of files found: 5
C:\Text\test1.txt
C:\Text\test2.txt
C:\Text\test3.txt
C:\Text\test4.txt
C:\Text\test5.txt
De produkter från andra tillverkare som diskuteras i denna artikel tillverkas oberoende av Microsoft. Produkternas funktion eller tillförlitlighet kan därför inte garanteras.
Referenser
Mer information om JScript och VBScript finns i Introduktion till Windows-skripttekniker.