[AutoIt] File Lister

Stato
Discussione chiusa ad ulteriori risposte.

yoness

Utente Silver
8 Dicembre 2007
12
0
0
60
ecco qui uno scriptino sfornato un mese fa che lista i files presenti nel percorso che li dai all'inizio tramite inputbox:
il percorso non deve avere la "\" finale ;)

features:
lista dei files.
dimensione ( a seconda dei casi in BYTE, KB, MB, GB ).

Codice:
#cs ----------------------------------------------------------------------------

 Versione AutoIt: 3.2.4.9
 Autore:         [email protected]

 Funzione dello Script:
	Tool che lista i file presenti nel percorso che chiede attraverso un InputBox()
	La lista contiene:
	$percorso_file [$dimensione]

#ce ----------------------------------------------------------------------------

#NoTrayIcon ; no icona sulla tray!

$filog=tempo()&".txt"
$numero=0
$dove=InputBox("Percorso","Inserire percorso:","C:")
$dove=StringReplace($dove,"/","\")


FileWrite($filog,tempo()&@CRLF&@CRLF)

Func scanna($percorscan)
	Local $risultato
	Local $File
	Local $attrib
	Local $percorso
	
	$risultato = FileFindFirstFile($percorscan & "\*.*")  

	While 1
		If $risultato = -1 Then
			ExitLoop
		EndIf
		
		$File = FileFindNextFile($risultato)
		If @error Then 
			
			exitLoop
		EndIf
		
		$percorso = $percorscan & "\" & $File
		$attrib = FileGetAttrib($percorso)
		
		If StringInStr($attrib,"D") Then
			$filecount=0
			scanna($percorso)
		Else
			LogFile($percorso)
		EndIf
	WEnd



	FileClose($risultato)
EndFunc
Func LogFile($nomefile)
	$dim=FileGetSize($nomefile) ; ottengo size in bytes
	$cosa="BYTES"
	if $dim>1024 then
		$dim=$dim/1024
		$cosa="KB"
		if $dim>1024 Then
			$dim=$dim/1024
			$cosa="MB"
			if $dim>1024 Then
				$dim=$dim/1024
				$cosa="GB"
			EndIf
		EndIf
	EndIf
	
	
	$punto=StringInStr($dim,".")
	$punto=$punto+2
	$dim=StringMid($dim,1,$punto)
	$nomefile=$nomefile&" ["&$dim& " "&$cosa&"]"
;~ 	ToolTip($nomefile,0,0)
	$numero=$numero+1
	FileWriteLine($filog,$nomefile)
EndFunc
Func riga()
	FileWriteLine($filog,@crlf&"----------"&@crlf&@CRLF)
EndFunc
Func tempo()
$ora=@HOUR
$min=@MIN
$sec=@SEC

$giorno=@MDAY
$mese=@MON
$anno=@YEAR

$tempo=$ora & "." & $min & "." & $sec & " [-] " & $giorno & "-" & $mese & "-" & $anno

Return $tempo
EndFunc


scanna($dove)
FileWrite($filog,@crlf&"Numero di files: "&$numero)

MouseMove(0,0) ; quando finisce sposta il mouse nella posizione 0,0 del monitor, così capisci che ha finito.
la licenza è:
"copialo, modificalo e facci quello che ti pare, ma citane l'autore ;)"
( l'ho usato a scuola per listare i files presenti nei vari dischi fissi XD aggiungendo 10 righe si può farsi inviare la lista in FTP )
 
aaazz è vero ho sbagliato :(
qualche admin/mod la può spostare ;) ?
 
hai ragione, ma è una cosa che ho fatto in fretta perchè mi serviva subito ;)
ora ci faccio una bella gui... quando la faccio posto
 
Stato
Discussione chiusa ad ulteriori risposte.