Newsgroup: it.comp.aiuto
Titolo: Creare elenco file

Sto cercando un programmino che mi consenta, in automatico, di creare un
indice dei file contenuti in alcune cartelle.
In pratica qualcosa che prenda tutti i nomi dei file presenti in una
cartella (e relative sottocartelle) e li scriva in txt o word o ancora
meglio excel.
Lo conoscete?
Grazie, ciao
d
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 meglio excel.
'Al posto di programmi mettici la folder che vuoi
sStartPath = "c:\programmi"
Set oFSO = CreateObject("Scripting.FileSystemObject")
sReportName = "log.txt"
sReportName2 = "Empty.txt"
Set fReport = oFSo.CreateTextFile(sReportName, True)
Set fReport2 = oFSo.CreateTextFile(sReportName2, True)
fReport2.Writeline "Cartelle con ZERO files"& VBCrLf
ListFolders(sStartPath)
Sub ListFolders(sPath)
  Set oFolder = oFSO.GetFolder(sPath)
  liLength = len(oFolder.Path)
  fReport.Writeline oFolder
  fReport.Writeline "Base name: " & oFolder.Name
  fReport.Writeline "File count: " & oFolder.Files.Count
  fReport.WriteLine "Conta_Caratteri" &"  "& liLength
 t =oFolder.Size/1024000
     S = formatnumber(t,,,,0) & " MB "
 fReport.Writeline "Folder size: " & S
  fReport.Writeline
  If oFolder.Size = 0 Then
       '   FSO.DeleteFolder(Subfolder.Path)
'msgbox "Cartelle con ZERO files" & VBCrLf  &   oFolder
'fReport2.Writeline "Cartelle con ZERO files"& VBCrLf&oFolder
   fReport2.Writeline oFolder
    end if
  liMaxLength = 250
if liLength > liMaxLength then
 wscript.echo oFolder.Path &"  "& liLength
 end if
  For Each oFldr In oFolder.SubFolders
    ListFolders oFldr.Path
  Next
End Sub
set oShell = CreateObject("WScript.Shell")
while not oFSO.FileExists("log.txt")
WScript.Sleep 100
Wend
oShell.run"log.txt"
while not oFSO.FileExists("empty.txt")
WScript.Sleep 10000
Wend
oShell.run"empty.txt"
'set fso = CreateObject ("Scripting.FileSystemObject")
'set initialFolder = fso.GetFolder ("C:\windows\temp")
'for each subFldr in initialFolder.SubFolders
 'Wscript.Echo subFldr.Path
 'Wscript.Echo subFldr.DateCreated
 'Wscript.Echo subFldr.DateLastModified
 'Wscript.Echo subFldr.DateLastAccessed
 'Wscript.Echo subFldr.Size
'next
'Copia incolla su notepad e salva con estensione .vbs
'tutti i file (*.*)  poi ci clicchi sopra. (per esempio Test.vbs)
'se ti da' errore disattiva l'antivirus
--
Fosco

 > cartella (e relative sottocartelle)
Opppsss  sorry :
const ForWriting = 2
 set fso = CreateObject _
     ("Scripting.FileSystemObject")
 set logFile = fso.OpenTextFile _
     ("C:\fldrLog.txt",ForWriting, true)
 start = "c:\windows\temp"
 set startFolder = fso.GetFolder (start)
' approved = "approved"
 listFolders (startFolder)
 logFile.Close
 sub listFolders (folder)
   for each f in folder.SubFolders
     ' if LCase (f.Name) = approved then
         for each file in f.Files
            ' logFile.WriteLine file.Path
    logFile.WriteLine 
file.name
         next
    '  end if
      listFolders (f)
   next
 end sub
 set oShell = CreateObject("WScript.Shell")
oShell.run"C:\fldrLog.txt"


 meglio excel.
Con i prompt dei comand portati dentro al directory e fai:
dir >lista.txt
all'interno della directory verrà creato un file di testo di nome 
lista.txt con elencati tutto il contenuto della stessa. Naturalmente puoi 
usare tutte le opzioni del comando dir /?, e puo indicare un altro nome per 
il file :)
Ad esempio dir /b /s >lista.txt
-- 
Ciao, Guglielmo.

 un sw x spammer. :-DDD
Lol cibbaz  :-)
--
Fosco