Newsgroup: it.comp.aiuto
Titolo: Cartelle

Ho XP
E' possibile sapere il numero effettivo
degli elementi presenti in una cartella
senza entrare a contarli?
(ho provato cliccando le proprieta della cartella
 ma il numero non è esatto con quello presente effettivamente!)
grazie. 

 senza entrare a contarli?
'Al posto di windows mettici la folder che vuoi
sStartPath = "c:\windows"
Set oFSO = CreateObject("Scripting.FileSystemObject")
sReportName = "log.txt"
'Set oFSo = CreateObject("Scripting.FileSystemObject")
Set fReport = oFSo.CreateTextFile(sReportName, True)
ListFolders(sStartPath)
Sub ListFolders(sPath)
  Set oFolder = oFSO.GetFolder(sPath)
'  fReport.Writeline oFolder
  fReport.Writeline "Base name: " & oFolder.Name
  fReport.Writeline "File count: " & oFolder.Files.Count
' t =oFolder.Size/1024000
  '   S = formatnumber(t,,,,0) & " MB "
' fReport.Writeline "Folder size: " & S
  fReport.Writeline
  For Each oFldr In oFolder.SubFolders
    ListFolders oFldr.Path
  Next
End Sub
set oShell = CreateObject("WScript.Shell")
'''Set ofso = CreateObject("Scripting.FileSystemObject")
while not oFSO.FileExists("log.txt")
WScript.Sleep 100
Wend
oShell.run"log.txt"
'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 

non esiste qualcosa di più semplice?
grazie.
"Fosco" <fa...@fake.invalid> ha scritto nel messaggio 
news:0eGwf.2160$6e2...@news.edisontel.com...




magiaaa ma come è possibile? bellissimo, solo che ho lasciato "
windows " e ca..z mi ha fatto un file log lunghissimo e completo!!
quindi se ho capito devo cambiar solo il comando " windows" con il
nome della cartella scelta ? funziona anche su HD completi o cd-rom
masterizzati ? 
ciao

 masterizzati ?
Penso di si prova ... certo che il log sara' ancora piu lungo
Se vuoi ti creo uno script generico dove basta trascinarci sopra
la cartella
ecco l'ho gia modificato .. creatilo script e di qualsuasi cartella di
qui vuoisapere il numero di file  la trascini sopra allo script
Puoi mettere anche lo script in invia a ...
Set oArgs = WScript.Arguments
 sStartPath = oArgs(0)
 Set oFSO = CreateObject("Scripting.FileSystemObject")
 sReportName = "log.txt"
 'Set oFSo = CreateObject("Scripting.FileSystemObject")
 Set fReport = oFSo.CreateTextFile(sReportName, True)
 ListFolders(sStartPath)
 Sub ListFolders(sPath)
  Set oFolder = oFSO.GetFolder(sPath)
 '  fReport.Writeline oFolder
  fReport.Writeline "Base name: " & oFolder.Name
  fReport.Writeline "File count: " & oFolder.Files.Count
 ' t =oFolder.Size/1024000
  '   S = formatnumber(t,,,,0) & " MB "
 ' fReport.Writeline "Folder size: " & S
  fReport.Writeline
  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"
--
Fosco

 funziona anche su HD completi o cd-rom masterizzati ?
Se vioi provare adopera il primo script che ho postato
e sostituisci
sStartPath = "c:\windows"
con
sStartPath = "c:\"
o
sStartPath = "c:"
fai un po di prove
per cd :
Set oFSO = CreateObject("Scripting.FileSystemObject")
 x= oFSO.GetDrive("D:")
Set f = ofso.CreateTextFile("log.log", True)
Set Folder = oFso.GetFolder (x)
 Set FileCollection = Folder.Files
 For Each File In FileCollection
f.WriteLine (File)
 Next
' il risultato e' in log.log
--
Fosco

 non esiste qualcosa di più semplice?
Prima vai qui
http://digilander.iol.it/ifst/html/Quoting.html
poi prova questo passato dal GRANDE  orpheus
http://news.swzone.it/swznews-16172.php
--
Fosco


questo a differenza del primo in cui cambiavi manualmente
il percorso non funziona.
Mi dà errore... "riga 10 carattere 3 "
"impossibile trovare il percorso"
eppure io non faccio altro che trascinarci sopra la cartella... :-(
-- 
Matthew® aka T.7 ----> *Sebino lake*
- per la mail leva il freno a mano - 

 eppure io non faccio altro che trascinarci sopra la cartella... :-(
Desumo che tu abbia provato con cartelle diverse
creati una cartella Test in c:\  mettici 2 file TXT e prova con questo
Set oArgs = WScript.Arguments
 sStartPath = oArgs(0)
 Set oFSO = CreateObject("Scripting.FileSystemObject")
 sReportName = "log.txt"
 Set fReport = oFSo.CreateTextFile(sReportName, True)
 ListFolders(sStartPath)
 Sub ListFolders(sPath)
  Set oFolder = oFSO.GetFolder(sPath)
  fReport.Writeline "Base name: " & oFolder.Name
  fReport.Writeline "File count: " & oFolder.Files.Count


 > il percorso non funziona.
Ovviamente se provi su un file che NON sia una Folder (cartella)
ti da l'errore che hai descritto tu
--
Fosco