Ir para conteúdo
Fórum Script Brasil
  • 0

usando o fso


bareta

Pergunta

Ai galera achei este tuto muito massa sobre Fso.

direitos autorais:

Oscar Pires é desenvolvedor ASP e Visual Basic, atualmente voltado para o e-commerce, e trabalha com sistemas para controle dos dados de lojas.

Oscar Pires

blade@imasters.com.br

Nesta série de artigos visando File System Object, procuro descrever todas as funções do file system object, um componente muito útil para se trabalhar com sistema de arquivos.

O FSO é um componente que pode ser usado tanto no NT/2000 como no 95/98/ME.

Nas descrições de funções, utiliza-se o componente criado como está abaixo:

Set FSO = Server.CreateObject("Scripting.FileSystemObject")
. Função para copiar arquivo (CopyFile) Sintaxe:
FSO.CopyFile "C:\Pasta\teste.txt", "c:\backup"
Após ter criado o objeto, a função CopyFile é chamada, o primeiro parâmetro (c:\pasta\teste.txt) se refere ao arquivo que deverá ser copiado, e o segundo (c:\backup) o destino. Nota: Você também pode definir cópias em massa, do tipo c:\pasta\*.txt, onde seria copiado todos TXT existentes na pasta. . Função para copiar pasta (CopyFolder) Sintaxe:
FSO.CopyFolder "C:\Pasta","c:\temp"
Copia todo o conteúdo da pasta especificada no primeiro parâmetro à pasta de destino, que deve ser especificada no segundo parâmetro . Função para criar pasta (CreateFolder)
Set NovaPasta = FSO.CreateFolder("c:\NovaPasta")
Cria uma pasta no caminho especificado . Função para deletar arquivo (DeleteFile)
FSO.DeleteFile "c:\pasta\arquivo.txt" ou
FSO.DeleteFile "c:\pasta\*.txt"
Esta função irá apagar o arquivo específico ou todos com a extensão especificada . Função para deletar pasta (deleteFolder)
FSO.DeleteFolder "c:\pasta", FALSE
Esta função irá apagar a pasta por completo, ou seja, todos arquivos e subpastas. O segundo parâmetro de valor booleano, indica se caso a pasta for apenas leitura, deverá ser apagada mesmo assim (TRUE), ou não deve ser apagada (FALSE) Continuando a série destinada à FSO, darei continuação as funções mais importantes, descritas abaixo e com exemplos. Lembrando que o padrão é
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
. Verificar unidade (DriveExists)
Sintaxe: FSO.DriveExists("C")
A sintaxe acima, verifica se o drive C: existe, se existir TRUE será retornado, do contrário FALSE. exemplo:
If FSO.DriveExists("C") = TRUE then
' caso existe o drive C: então
response.write "Drive C: existe"
' notificar o client
else
' caso contrário
response.write "Drive C: não consta"
' notificar que não existe
End If
. Verificar arquivo (FileExists)
Sintaxe: FSO.FileExists("c:\inetpub\oscar.txt")
O exemplo acima tenta localizar no diretório inetpub pelo arquivo 'oscar.txt', e caso o encontre, retorna TRUE, caso contrário, retornará FALSE. . Verificar pasta (FolderExists) Sintaxe:
 FSO.FolderExists("c:\oscar")
O exemplo de FolderExists acima, buscará pela pasta 'oscar' no caminho indicado, se existir retorna TRUE, caso contrario FALSE. NOTA: As verificações utilizando o If then Else podem ser aplicado em quaisquer destes exemplos de verificação (como no 1º exemplo), retorna sempre um valor booleano (TRUE/FALSE). Neste terceiro artigo sobre File System Object, mostrarei os métodos para requisitar os mais variados tipos de dados referentes a arquivos, pastas e inclusive unidades. Como padrão, o objeto é criado como:
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
. Caminho absoluto (GetAbsolutePath)
Sintaxe: FSO.GetAbsolutePath("/")
Ao usar getAbsolutePath("../") pegará o valor de um diretório acima, e consequentemente ("../../") dois diretórios. . Extensão do arquivo (GetExtensionName) Pegará apenas a extensão do arquivo indicado
Sintaxe: FSO.GetExtensionName("c:\oscar\oscar.txt")
Nesta sintaxe acima, será retornado "TXT", que é a extensão de oscar.txt, independente de ser informado pasta ou não, só é retornado a extensão do arquivo. . Objeto vinculado a arquivo (GetFile)
Sintaxe: FSO.getFile("c:\oscar.txt").PROPRIEDADE
O objeto é vinculado ao arquivo "c:\oscar.txt" As propriedades são;
size - retorna o tamanho do arquivo
name - retorna o nome
attributes - atributos do arquivo
DateCreated - data de criação
DateLastAccessed - data de último acesso
DateLastModified - data de última modificação
entre outras...
. Retornar nome de arquivo (GetFileName)
Sintaxe: FSO.GetFileName("c:\oscar.doc")
Independente de indicação de pasta ou não, será retornado o nome e extensão de arquivo, no caso acima, é retornado "oscar.doc" . Dados de pasta (GetFolder)
Sintaxe: FSO.GetFolder("c:\temp")
Assim como getfile pega dados de um arquivo, GetFolder pegará dados referentes a pasta indicada, as propriedades são equivalentes à getFile, note que size retornará o tamanho total de tudo na pasta (subpastas, arquivos..) 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 invés 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

retirado de canal html

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...