#include <FTPEx.au3>
#include <Date.au3>
#include <Array.au3>
#include <GUIConstants.au3>
#include <GuiListView.au3>
Global $sPassive = "0"
Global $sPort = "21"
Global $sServer = "ftp.csx.cam.ac.uk"
Global $sUserName = ""
Global $sPassword = ""
Global $sDir = "/pub/software/programming/pcre/";Здесь путь к папке, где искать файлы
Global $aArray
Dim $aArray[1][3]
$hMain = GUICreate('Все файлы FTP сервера', 500, 350)
Global $ListView = GUICtrlCreateListView('Имя файла|Дата последнего изменения|Прошло дней', 5, 5, 490, 290)
GUICtrlCreateLabel('Удалить файлы старше ', 10, 310, 175, 25)
GUICtrlSetFont(-1, 12)
$dDay = GUICtrlCreateInput('2', 190, 308, 30, 25)
GUICtrlSetFont(-1, 12)
GUICtrlCreateLabel('дней', 230, 310, 40, 25)
GUICtrlSetFont(-1, 12)
$DelButton = GUICtrlCreateButton('Удалить', 280, 302, 120, 40)
GUICtrlSetFont(-1, 12, 600)
_FindFile()
GUISetState(@SW_SHOW, $hMain)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
Case $msg = $DelButton
_DelFile()
_GUICtrlListView_DeleteAllItems($ListView)
$aArray = 0
Dim $aArray[0][3]
_FindFile()
EndSelect
WEnd
Func _DelFile()
$hOpen = _FTP_Open('MyFTP Control')
If @error Then
MsgBox(16, "Супер FTP клиент", "Не удалось создать сессию! Код ошибки: " & @error & "")
;GUIDelete ( $hWnd )
;GuiEnable($hGui)
;Return SetError(1,0,0)
EndIf
$hConn = _FTP_Connect($hOpen, $sServer, $sUserName, $sPassword, $sPassive, $sPort)
If @error Then
MsgBox(16, "Супер FTP клиент", "Не удалось подключиться к серверу! Код ошибки: " & @error & "")
EndIf
$delta = GUICtrlRead($dDay)
For $i = 0 To UBound($aArray) - 1
If _DateDiff('D', $aArray[$i][1], _NowCalc()) > $delta Then
_FTP_FileDelete($hConn, $sDir & $aArray[$i][0])
EndIf
Next
_FTP_Close($hOpen)
EndFunc ;==>_DelFile
Func _FindFile()
$hOpen = _FTP_Open('MyFTP Control')
If @error Then
MsgBox(16, "Супер FTP клиент", "Не удалось создать сессию! Код ошибки: " & @error & "")
;GUIDelete ( $hWnd )
;GuiEnable($hGui)
;Return SetError(1,0,0)
EndIf
$hConn = _FTP_Connect($hOpen, $sServer, $sUserName, $sPassword, $sPassive, $sPort)
If @error Then
MsgBox(16, "Супер FTP клиент", "Не удалось подключиться к серверу! Код ошибки: " & @error & "")
EndIf
$n = 0
Local $h_Handle
Local $aFile = _FTP_FindFileFirst($hConn, $sDir, $h_Handle)
If Not @error Then
$FileData=StringSplit(_FTP_FileTimeLoHiToStr($aFile[6], $aFile[7], 1),' ')
$Data=StringSplit($FileData[1],'/')
ReDim $aArray[$n + 1][3]
$aArray[$n][0] = $aFile[10]
$aArray[$n][1] = $Data[1]&'/'&$Data[3]&'/'&$Data[2]&' '&$FileData[2]
$aArray[$n][2] = _DateDiff('D', $aArray[$n][1], _NowCalc())
GUICtrlCreateListViewItem($aArray[$n][0] & '|' & $aArray[$n][1] & '|' & $aArray[$n][2], $ListView)
$n += 1
EndIf
While 1
$aNextFile = _FTP_FindFileNext($h_Handle)
If @error Then
ExitLoop
Else
$FileData=StringSplit(_FTP_FileTimeLoHiToStr($aNextFile[6], $aNextFile[7], 1),' ')
$Data=StringSplit($FileData[1],'/')
ReDim $aArray[$n + 1][3]
$aArray[$n][0] = $aNextFile[10]
$aArray[$n][1] = $Data[1]&'/'&$Data[3]&'/'&$Data[2]&' '&$FileData[2]
$aArray[$n][2] = _DateDiff('D', $aArray[$n][1], _NowCalc())
GUICtrlCreateListViewItem($aArray[$n][0] & '|' & $aArray[$n][1] & '|' & $aArray[$n][2], $ListView)
$n += 1
EndIf
WEnd
_FTP_Close($hOpen)
EndFunc ;==>_FindFile