Compartilhar via


Listar estrutura de diretório pastas e subpastas

Aplicação:

Pode ser muito útil para fazer um levantamento em Servidores de Arquivos para listar as pastas de uma árvore de um diretório. Salve como VBS e execute no Prompt. O resultado pode ser direcionado para um arquivo .TXT por Exemplo:

**CSCRIPT Teste.VBS > Texte.txt
**
Vai ter a lista com a estrurura de pastas, a partir da pasta e diretorio de rede que informou dentro do Script no parâmetro "

H:\Pasta_Rede\ Pode ser um diretório local ou de Rede

Set objFSO = CreateObject("Scripting.FileSystemObject")

'colque o nome da pasta que você quer gerar o relatório, não deixe de usar a \ no final.

objStartFolder = "H:\Pasta_Rede\

 

Set objFolder = objFSO.GetFolder(objStartFolder)

'Wscript.Echo objFolder.Path

Set colFiles = objFolder.Files

For Each objFile in colFiles

'Wscript.Echo objFile.Name

Next

'Wscript.Echo

ShowSubfolders objFSO.GetFolder(objStartFolder)

Sub ShowSubFolders(Folder)

For Each Subfolder in Folder.SubFolders

Wscript.Echo Subfolder.Path

Set objFolder = objFSO.GetFolder(Subfolder.Path)

Set colFiles = objFolder.Files

For Each objFile in colFiles

On Error Resume Next

strComputer = "."

Set objWMIService = GetObject("winmgmts:" _

& "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")

strFile = Subfolder.Path & "\ & objFile.Name

Set colItems = objWMIService.ExecQuery _

("ASSOCIATORS OF {Win32_LogicalFileSecuritySetting='" & strFile & "'}" _

& " WHERE AssocClass=Win32_LogicalFileOwner ResultRole=Owner")

For Each objItem in colItems

'Wscript.Echo objItem.ReferencedDomainName

Wscript.Echo "Arquivo: " & objFile.Name & " Owner: " & objItem.AccountName

Wscript.Echo

Next

Next

Wscript.Echo "------------------------------------------------------------------------------------------------"

Wscript.Echo

ShowSubFolders Subfolder

Next

End Sub

wscript.quit