Condividi tramite


Usare JScript o JavaScript per attraversare una raccolta

Questo articolo illustra come usare JScript o JavaScript per attraversare una raccolta.

Versione originale del prodotto: Visual Studio
Numero KB originale: 229693

Riepilogo

Questo articolo descrive come usare script lato server nelle pagine ASP (Active Server Pages) con Visual Basic Script (VBScript) e JScript o JavaScript per attraversare una raccolta. In VBScript è possibile usare il FOR EACH...NEXT ciclo per attraversare una raccolta. In JScript o JavaScript è necessario usare un oggetto enumeratore.

Ulteriori informazioni

Gli esempi in questo articolo usano l'oggetto file system per attraversare una cartella (in questo caso , C:\Text) ed elencare tutti i file che si trovano nella cartella . Il primo esempio usa un FOR EACH...NEXT ciclo in VBScript per attraversare:

  1. Creare una nuova cartella nella cartella radice dell'unità C e denominarla Text.
  2. Inserire cinque file di testo nella directory creata.
  3. Creare una nuova pagina ASP e aggiungere il codice VBScript seguente:
<% @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

%>

L'esempio seguente illustra l'equivalente, ma usa JScript o JavaScript e l'oggetto enumeratore, come illustrato di seguito. Seguire i passaggi descritti in precedenza, tranne usare il codice seguente nel passaggio 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;
%>

Note

L'oggetto enumeratore viene creata un'istanza all'interno del ciclo FOR, che è corretto in JScript o JavaScript. La sintassi per l'istruzione FOR è la seguente:

FOR(initialize; test; incremento) istruzione;

L'output per ogni esempio di questo articolo verrà visualizzato in modo diverso. In VBScript l'output mostra solo il nome del file e la relativa estensione di file, come illustrato di seguito:

VBScript Method
Number of files found: 5
test1.txt
test2.txt
test3.txt
test4.txt
test5.txt

In JScript o JavaScript l'output visualizza la cartella fisica, il nome del file e l'estensione del file:

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

I prodotti di terze parti citati in questo articolo sono realizzati da società indipendenti da Microsoft. Microsoft non rilascia alcuna garanzia implicita o esplicita relativa alle prestazioni o all'affidabilità di tali prodotti.

Riferimenti

Per altre informazioni su JScript e VBScript, vedere Introduction to Windows Script Technologies (Introduzione alle tecnologie di Script Windows).