assch
03-09-2010, 17:43
С помощью этой быстрой функции (Спасибо Креатору) список файлов на диске С получился и записался в текстовый файл
за одну секунду если быть точным Time: 1.185 получилось 22000 строк тоесть 22000 файлов
Если проинсталировать какую нибудь програмку то получится например 22100 строк.
Всё это делается очень даже очень быстро.
А вот как получить текстовый файл со списком файлов только что ставших на диск С
То есть сравнить эти два файла
и выявить изменения
или убрать дубликаты?
с этим проблема.
Код этой функции
#Include <File.au3>
Global $Array = ""
_FindFiles('C:', '*')
$Txt = FileOpen('1.txt' ,2)
FileWrite($Txt, $Array)
FileClose($Txt)
Func _FindFiles($sRoot, $sFile)
Local $FileList
$FileList = _FileListToArray($sRoot, $sFile, 0)
If Not @error Then
For $i = 1 To $FileList[0]
$Array &= $sRoot & '\' & $FileList[$i] & @CRLF
Next
EndIf
$FileList = _FileListToArray($sRoot, '*', 2)
If Not @error Then
For $i = 1 To $FileList[0]
_FindFiles($sRoot & '\' & $FileList[$i], $sFile)
Next
EndIf
EndFunc
за одну секунду если быть точным Time: 1.185 получилось 22000 строк тоесть 22000 файлов
Если проинсталировать какую нибудь програмку то получится например 22100 строк.
Всё это делается очень даже очень быстро.
А вот как получить текстовый файл со списком файлов только что ставших на диск С
То есть сравнить эти два файла
и выявить изменения
или убрать дубликаты?
с этим проблема.
Код этой функции
#Include <File.au3>
Global $Array = ""
_FindFiles('C:', '*')
$Txt = FileOpen('1.txt' ,2)
FileWrite($Txt, $Array)
FileClose($Txt)
Func _FindFiles($sRoot, $sFile)
Local $FileList
$FileList = _FileListToArray($sRoot, $sFile, 0)
If Not @error Then
For $i = 1 To $FileList[0]
$Array &= $sRoot & '\' & $FileList[$i] & @CRLF
Next
EndIf
$FileList = _FileListToArray($sRoot, '*', 2)
If Not @error Then
For $i = 1 To $FileList[0]
_FindFiles($sRoot & '\' & $FileList[$i], $sFile)
Next
EndIf
EndFunc