Dela via


Använda JScript eller JavaScript för att gå igenom en samling

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:

  1. Skapa en ny mapp i rotmappen på enhet C och ge den namnet Text.
  2. Placera fem textfiler i katalogen du skapade.
  3. 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.