Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo mostra como usar JScript ou JavaScript para percorrer uma coleção.
Versão original do produto: Visual Studio
Número original do KB: 229693
Resumo
Este artigo descreve como usar scripts do lado do servidor em páginas ASP (Active Server Pages) com VBScript (Visual Basic Script) e JScript ou JavaScript para percorrer uma coleção. No VBScript, você pode usar o FOR EACH...NEXT
loop para percorrer uma coleção. Em JScript ou JavaScript, você deve usar um objeto enumerador.
Mais informações
Os exemplos neste artigo usam o objeto do sistema de arquivos para percorrer uma pasta (neste caso, C:\Text
) e listar todos os arquivos localizados na pasta. O primeiro exemplo usa um FOR EACH...NEXT
loop em VBScript para atravessar:
- Crie uma nova pasta na pasta raiz da unidade C e nomeie-a como Texto.
- Coloque cinco arquivos de texto no diretório que você criou.
- Crie uma nova página ASP e adicione o seguinte código VBScript:
<% @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
%>
O exemplo a seguir demonstra o equivalente, mas usa JScript ou JavaScript e o objeto enumerador, conforme mostrado abaixo. Siga as etapas descritas anteriormente, exceto usar o código a seguir na etapa 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;
%>
Observação
O objeto enumerador é instanciado dentro do loop FOR, o que é bom em JScript ou JavaScript. A sintaxe da instrução FOR é a seguinte:
FOR(inicializar; teste; incremento);
A saída para cada exemplo neste artigo será exibida de forma diferente. No VBScript, a saída mostra apenas o nome do arquivo e sua extensão de arquivo, conforme mostrado aqui:
VBScript Method
Number of files found: 5
test1.txt
test2.txt
test3.txt
test4.txt
test5.txt
Em JScript ou JavaScript, a saída exibe a pasta física, o nome do arquivo e sua extensão de arquivo:
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
Os produtos de terceiros descritos neste artigo são fabricados por empresas que são independentes da Microsoft. A Microsoft não fornece garantias, implícitas ou de outro tipo, em relação ao desempenho ou à confiabilidade desses produtos.
Referências
Para obter mais informações sobre JScript e VBScript, consulte Introdução às tecnologias de script do Windows.