Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <File.au3>
FileDelete(@HomeDrive & @HomePath & "\temp\ftp\*.cmd")
FileDelete(@HomeDrive & @HomePath & "\temp\ftp\*.conf")
FileDelete(@HomeDrive & @HomePath & "\temp\ftp\put.ftp")
FileDelete(@HomeDrive & @HomePath & "\temp\ftp\get.ftp")
DirRemove(@HomeDrive & @HomePath & "\temp\ftp\", 1)
Sleep(1000)
DirCreate(@HomeDrive & @HomePath & "\temp")
DirCreate(@HomeDrive & @HomePath & "\temp\ftp")
Local $nom, $Mdp, $Chemin, $fileconf, $filecmd, $fileftp, $maison, $CountLines, $Compteur, $file, $Test, $Line,$radio1, $radio2
$Chemin="ssupport/"
Opt('MustDeclareVars', 1)
Example()
$Mdp= GUICtrlRead($Mdp)
$NomFTP= GUICtrlRead($NomFTP)
$Chemin= GUICtrlRead($Chemin)
$Radio1=1 ; Par defautl l'adresse externe est (radio1=1) activer pour modilier mettre radio1=2 2 en ligne 23 et radio1=1 en ligne 133
$Maison=@HomeDrive & @HomePath & "\temp\Ftp"
;---------------------Creation fichier conf"
If Not _FileCreate($Maison & "\" & $nomFTP & ".conf") Then
MsgBox(4096,"Erreur", " Erreur de creation de fichier" & @HomePath)
EndIf
$fileconf = FileOpen($Maison & "\" & $nomFTP & ".conf", 1)
; Check if file opened for writing OK
If $fileconf = -1 Then
MsgBox(0, "Error", "Impossible d'ouvrir le fichier")
DirRemove(@HomeDrive & @HomePath & "\temp\ftp\", 1)
Exit
EndIf
FileWriteLine($fileconf, $NomFTP)
FileWriteLine($fileconf, $mdp)
FileWriteLine($fileconf, "ssupport")
FileWriteLine($fileconf, "239")
FileClose($fileconf)
;---------------------Creation fichier lance-ftp"
If Not _FileCreate($Maison & "\Lance-Ftp.cmd") Then
MsgBox(4096,"Erreur", " Erreur de creation de fichier" & @HomePath)
EndIf
$filecmd = FileOpen($Maison & "\Lance-Ftp.cmd", 1)
; Check if file opened for writing OK
If $filecmd = -1 Then
MsgBox(0, "Error", "Impossible d'ouvrir le fichier")
DirRemove(@HomeDrive & @HomePath & "\temp\ftp\", 1)
Exit
EndIf
FileWriteLine($filecmd, "cd " & """" & $Maison & """")
FileWriteLine($filecmd, "ftp -ni <put.ftp")
FileClose($filecmd)
;---------------------Creation fichier Recup"
If Not _FileCreate($Maison & "\recup-Ftp.cmd") Then
MsgBox(4096,"Erreur", " Erreur de creation de fichier" & @HomePath)
EndIf
$filecmd = FileOpen($Maison & "\recup-Ftp.cmd", 1)
; Check if file opened for writing OK
If $filecmd = -1 Then
MsgBox(0, "Error", "Impossible d'ouvrir le fichier")
DirRemove(@HomeDrive & @HomePath & "\temp\ftp\", 1)
Exit
EndIf
FileWriteLine($filecmd, "cd " & """" & $Maison & """")
FileWriteLine($filecmd, "ftp -ni <get.ftp")
FileClose($filecmd)
;---------------------Creation fichier put"
If Not _FileCreate($Maison & "\put.ftp") Then
MsgBox(4096,"Erreur", " Erreur de creation de fichier" & @HomePath)
EndIf
$fileftp = FileOpen($Maison & "\put.ftp", 1)
; Check if file opened for writing OK
If $fileftp = -1 Then
MsgBox(0, "Error", "Impossible d'ouvrir le fichier")
DirRemove(@HomeDrive & @HomePath & "\temp\ftp\", 1)
Exit
EndIf
if $radio1=1 then
FileWriteLine($fileftp, "open 80.XXX.127.XXX") ; vers le 1er FTP
EndIf
if $radio1=2 then
FileWriteLine($fileftp, "open 89.XX.20.XX") ; vers le 2eme FTP
EndIf
FileWriteLine($fileftp, "user adm mdpadm") ; le compte qui a les autorisation pour deposer le fichier .txt
FileWriteLine($fileftp, "mput *.conf")
FileWriteLine($fileftp, "mput *.txt")
FileWriteLine($fileftp, "quit")
FileClose($fileftp)
;---------------------Creation fichier get
If Not _FileCreate($Maison & "\get.ftp") Then
MsgBox(4096,"Erreur", " Erreur de creation de fichier" & @HomePath)
EndIf
$fileftp = FileOpen($Maison & "\get.ftp", 1)
; Check if file opened for writing OK
If $fileftp = -1 Then
MsgBox(0, "Error", "Impossible d'ouvrir le fichier")
DirRemove(@HomeDrive & @HomePath & "\temp\ftp\", 1)
Exit
EndIf
if $radio1=1 then
FileWriteLine($fileftp, "open 80.XXX.127.XXX")
EndIf
if $radio1=2 then
FileWriteLine($fileftp, "open 89.XX.20.XX")
EndIf
FileWriteLine($fileftp, "user adm mdpadm")
FileWriteLine($fileftp, "get liste-compte.txt")
FileWriteLine($fileftp, "quit")
FileClose($fileftp)
FileChangeDir($Maison)
;-----------------------
;-------------------------connection avec le serveurFTP pour recuperation fichier des utilisateurs deja créés
Run(@ComSpec & " /c " & 'recup-Ftp.cmd', "",@SW_HIDE ) ; don't forget " " before "/c"
Sleep(5000)
$CountLines = _FileCountLines("liste-compte.txt")
$Compteur=0
$file = FileOpen($Maison & "\liste-compte.txt", 0)
; ---------------------------------------------------------test si le fichier a bien été recupéré
If $file = -1 Then
$Radio1=2
;---------------------creation de la mecanique en utilisant l'autre adresse du FTP
If Not _FileCreate($Maison & "\recup1-Ftp.cmd") Then
MsgBox(4096,"Erreur", " Erreur de creation de fichier" & @HomePath)
EndIf
$filecmd = FileOpen($Maison & "\recup1-Ftp.cmd", 1)
; Check if file opened for writing OK
If $filecmd = -1 Then
MsgBox(0, "Error", "Impossible d'ouvrir le fichier")
DirRemove(@HomeDrive & @HomePath & "\temp\ftp\", 1)
Exit
EndIf
FileWriteLine($filecmd, "cd " & """" & $Maison & """")
FileWriteLine($filecmd, "ftp -ni <get1.ftp")
FileClose($filecmd)
;---------------------
FileDelete(@HomeDrive & @HomePath & "\temp\ftp\put.ftp")
FileDelete(@HomeDrive & @HomePath & "\temp\ftp\get.ftp")
;MsgBox(4096,"Radio2", "Radio2" & @HomePath)
If Not _FileCreate($Maison & "\put.ftp") Then
MsgBox(4096,"Erreur", " Erreur de creation de fichier" & @HomePath)
EndIf
$fileftp = FileOpen($Maison & "\put.ftp", 1)
; Check if file opened for writing OK
If $fileftp = -1 Then
MsgBox(0, "Error", "Impossible d'ouvrir le fichier")
DirRemove(@HomeDrive & @HomePath & "\temp\ftp\", 1)
Exit
EndIf
if $radio1=1 then
FileWriteLine($fileftp, "open 80.XXX.127.XXX")
EndIf
if $radio1=2 then
FileWriteLine($fileftp, "open 89.XX.20.XX")
EndIf
FileWriteLine($fileftp, "user adm mdpadm")
FileWriteLine($fileftp, "mput *.conf")
FileWriteLine($fileftp, "mput *.txt")
FileWriteLine($fileftp, "quit")
FileClose($fileftp)
;---------------------
If Not _FileCreate($Maison & "\get1.ftp") Then
MsgBox(4096,"Erreur", " Erreur de creation de fichier" & @HomePath)
EndIf
$fileftp = FileOpen($Maison & "\get1.ftp", 1)
; Check if file opened for writing OK
If $fileftp = -1 Then
MsgBox(0, "Error", "Impossible d'ouvrir le fichier")
DirRemove(@HomeDrive & @HomePath & "\temp\ftp\", 1)
Exit
EndIf
if $radio1=1 then
FileWriteLine($fileftp, "open 80.XXX.127.XXX")
EndIf
if $radio1=2 then
FileWriteLine($fileftp, "open 89.XX.20.XX")
EndIf
FileWriteLine($fileftp, "user adm mdpadm")
FileWriteLine($fileftp, "get liste-compte.txt")
FileWriteLine($fileftp, "quit")
FileClose($fileftp)
FileChangeDir($Maison)
Run(@ComSpec & " /c " & 'recup1-Ftp.cmd', "",@SW_HIDE ) ; don't forget " " before "/c"
Sleep(5000)
$CountLines = _FileCountLines("liste-compte.txt")
$Compteur=0
$file = FileOpen($Maison & "\liste-compte.txt", 0)
; Check if file opened for reading OK
If $file = -1 Then
MsgBox(0, "Erreur", "Impossible de joindre le serveur FTP")
DirRemove(@HomeDrive & @HomePath & "\temp\ftp\", 1)
exit
EndIf
EndIf
;------------------------------------------------------------------------------------------------
$test=0
For $a=1 to $CountLines
$line = FileReadLine($file)
$line=StringLower($Line)
$NomFTP=StringLower($NomFTP)
;MsgBox(4096,"test", $Line & " " & $NomFTP)
If $NomFTP=$line Then $test=1
Next
FileClose($file)
if $Test=1 then
MsgBox(4096,"Erreur", "le Nom " & $NomFTP & " existe deja veuillez recommencer" )
DirRemove(@HomeDrive & @HomePath & "\temp\ftp\", 1)
Exit
EndIf
if $mdp="" then
MsgBox(4096,"Erreur", "Vous n'avez pas saisie de nom ou de mot de passe: veuillez recommencer",5 )
DirRemove(@HomeDrive & @HomePath & "\temp\ftp\", 1)
Exit
EndIf
if $NomFTP="" then
MsgBox(4096,"Erreur", "Vous n'avez pas saisie de nom ou de mot de passe: veuillez recommencer",5 )
DirRemove(@HomeDrive & @HomePath & "\temp\ftp\", 1)
Exit
EndIf
$file = FileOpen($Maison & "\liste-compte.txt", 1)
; Check if file opened for reading OK
If $file = -1 Then
MsgBox(0, "Erreur", "Fichier Liste-compte.txt non trouvé")
DirRemove(@HomeDrive & @HomePath & "\temp\ftp\", 1)
Exit
EndIf
FileWrite($file, $NomFTP & @CRLF)
FileClose($file)
Run(@ComSpec & " /c " & 'Lance-Ftp.cmd', "",@SW_HIDE ) ; don't forget " " before "/c"
MsgBox(0, "Enregistrement", "La création du compte est terminée, le compte sera actif dans 10 minutes", 5)
DirRemove(@HomeDrive & @HomePath & "\temp\ftp\", 1)
Func Example()
Global $NomFTP, $Mdp, $cmdOK, $CmdCancel, $msg, $Chemin
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
GUICreate("Creation compte FTP sur le serveur de Rungis Support Logiciels", 568, 261, 370, 279)
GUICtrlCreateLabel("Nom Ftp:", 11, 13, 131, 13)
GUICtrlCreateLabel("Nom du client par exemple", 310, 13, 131, 13)
$NomFTP = GUICtrlCreateInput($Nom, 143, 11, 165, 23)
GUICtrlCreateLabel("Mot de passe", 11, 44, 131, 13)
GUICtrlCreateLabel("Mot de passe obligatoire", 310, 44, 131, 13)
$Mdp = GUICtrlCreateInput($Mdp, 143, 41, 165, 23)
$cmdOK = GUICtrlCreateButton("OK", 152, 160, 75, 23)
$cmdCancel= GUICtrlCreateButton("Cancel", 263, 160, 75, 23)
GUICtrlCreateLabel("Accès par l'adresse publique du FTP: 80.XXX.127.XXX ", 11, 81, 540, 13)
GUICtrlCreateLabel("Accès à Rungis par l'adresse du FTP: 89.XX.20.XX", 11, 121, 540, 13)
;GUICtrlCreateLabel("Bien verifier toutes les informations, vous pouvez effacer et copier-coller.", 11, 198, 540, 13)
GUICtrlCreateLabel("Veuillez attendre le message de confirmation quelques secondes après avoir cliqué sur Ok .", 11, 190, 540, 13)
GUISetFont(7, 400, 2, "Trebuchet MS Bold Italic ")
GUICtrlCreateLabel(" V2 Powered by Gds", 450, 208, 540, 13)
GUISetState()
$msg = 0
While $msg <> $GUI_EVENT_CLOSE
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
MsgBox(0, "", "Vous avez cliqué sur la croix, la fenêtre va se fermer",3)
DirRemove(@HomeDrive & @HomePath & "\temp\ftp\", 1)
Exit
Case $msg= $cmdCancel
DirRemove(@HomeDrive & @HomePath & "\temp\ftp\", 1)
Exit
Case $msg = $cmdOK
ExitLoop
EndSelect
WEnd
EndFunc ;