ASP - File System Object (parte 4 - final) Oscar Pires é desenvolvedor ASP e Visual Basic, atualmente voltado para o e-commerce, e trabalha com sistemas para controle dos dados de lojas. 05/11/2001 - Coluna nº 09 ASP - File System Object (parte 4 - final) Neste artigo irei finalizar esta sequência sobre File System Object. O artigo será um pouco longo, mas não menos importante que os demais (talvez o oposto inclusive). Irei apresentar as funções mais importantes. Apenas para relembrar, o objeto é criado como: Set FSO = Server.Createobject("Scripting.FilesystemObject") . Pastas especiais (GetSpecialFolder) O GetSpecialFolder irá retornar o caminho de pastas do sistema do cliente: Temp: FSO.GetSpecialFolder(2) ' Pasta de arquivos temporários System: FSO.GetSpecialFolder(1) ' Pasta de arquivos do sistema Windows: FSO.GetSpecialFolder(0) ' Pasta do Windows . Mover arquivo (MoveFile): Moverá o arquivo para caminho específico Sintaxe: FSO.MoveFile "c:\oscar.doc","c:\teste" Moverá o arquivo oscar.doc para a pasta teste ou ainda você poderia usar ao inves de oscar.doc, *.DOC . Mover pasta (MoveFolder) Esta é uma função mais radical, ira mover ao destino todos arquivos e subpastas: Sintaxe: FSO.MoveFolder "c:\oscar","c:\teste" Neste caso, moverá todo o conteudo da pasta oscar (subpastas e arquivos) ao diretorio teste . Abrir arquivo de texto (OpenTextFile) Abrira arquivos DE TEXTO, possui algumas propriedades importantes: Sintaxe: Set Texto = FSO.openTextFile(CAMINHO,ABRIR,EXISTIR,FORMATO) CAMINHO: Esta variável guarda o caminho do arquivo de texto ABRIR: 1= Abrir para apenas leitura 2= Abrir para Gravação 3= Anexar (incluir mais texto ao arquivo) EXISTIR: (função booleana) Caso não exista o arquivo FALSE (padrão) = Não criará o arquivo TRUE = Criará o arquivo FORMATO: 0- ASCII 1- Unicode 2- Padrão do sistema . Coleção drives - Função para tratar todos drives em conjunto: Set Drives = FSO.Drives Drives.count - Retorna quantos drives há Um Loop para exibir todos drives: For each DRIVE in Drives response.write Drives.DriveLetter Next . Objeto drive - Função para tratar cada drive isolado: Set Drives = FSO.Drives ' Repetindo a criação da coleção de drives como acima Set MeuDrive = Drives.Item("C") ' Trabalhará apenas com o drive C:\ Propriedades: Tamanho: MeuDrive.AvailableSpace Tipo (fixo/movel): MeuDrive.DriveType Sistema: MeuDrive.FileSYstem Espaço Livre: MeuDrive.FreeSpace Pronta: MeuDrive.IsReady Raíz: MeuDrive.RootFolder Nome do Volume: MeuDrive.VolumeName . Coleção folders - Equivalente à coleção drives, mas trata de pastas: Set Drives = FSO.Drives ' Chamada novamente a coleção drives Set MeuDrive = Drives.Item("C") ' Unidade que contem as pastas Set Raiz = MeuDrive.RootFolder ' Definição da raiz Set Pastas = Raiz.SubFolders ' finalmente a chamada as pastas Pastas na raíz: pastas.Count Subpastas: pastas.Add "Nova SubPasta" Um Loop para exibi-las: For Each subpasta in Raiz response.write subpasta.name Next . Objeto folder - Equivalente ao objeto Drive, mas trata de pastas individualmente Set Pasta = FSO.GetFolder("c:\oscar") Abaixo as propriedades para a pasta "oscar", como definido acima: pasta.attributes - Atributos da pasta pasta.DateCreated - Data de criação da pasta pasta.DateLastModified - Ultima modificação pasta.drive - Unidade que a mesma esta pasta.name - o nome pasta.size - tamanho total . Coleção files - Equivalente as outras coleções, mas esta trata arquivos: set arquivos = pasta.files Total de arquivos nesta pasta: arquivos.count set Arquivo = arquivos.item("oscar.doc") ' para referenciar um unico arquivo na pasta Um loop para Listar todos: for each arquivo in arquivos response.write arquivo.name ' mostra o nome de cada arquivo na pasta next . Objeto file - Para tratar arquivos individualmente: set arquivo = arquivos.item("oscar.doc") arquivo.attributes - atributos do arquivo arquivo.datecreated - data de criação arquivo.datelastaccessed - data de ultimo acesso arquivo.datelastmodified - ultima modificacão arquivo.drive - unidade que ele está arquivo.size - tamanho em bytes Ufa! Termino por aqui. É interessante notar as funções e suas respectivas propriedades e pensar nas incríveis possibilidades. Por exemplo, é possivel retornar a data de criação, última modificação, atributos, último acesso, ou seja, TUDO referente ao arquivo, pasta, unidade. Bom, como disse, a série se finaliza por aqui, próxima semana teremos um artigo bem interessante! Até la! Abraço! Oscar Pires blade@imasters.com.br Todos os direitos autorais dos artigos pertencem ao seu autor.