Bonjour à vous, (sachez que je suis nouveau ici et je suis vraiment pas bon en script...)
Donc voici mon soucy...
Je souhaiterais créer un script me permettant de supprimer des repertoire selon le jour de la semaine. Je vous explique :
Chaque jour je sauvegarde sur un serveur les dossiers de plusieurs serveurs en créant a chaque fois un dossier parent du style D:\SERVEUR1\lundi si on est lundi, SERVEUR2\Lundi, SERVEUR1\mardi si on est mardi.... Je souhaiterais pouvoir supprimer lundi (par exemple)avant de lancer la sauvegarde.
Par exemple nous somme lundi 1/01. Je lance la sauvegarde dans D:\Save\Lundi, OK cool sa marche

.
Une semaine après (le lundi 8/01). il existe déja le repertoir Lundi ce qui m'arrange pas, donc je souhaiterais lancer le script qui reconnait le jour et ainsi me supprime le contenu de Lundi avant de lancer la sauvegarde. Et ceci pour chaque jour de la semaine. (Lundi, Mardi, Mercredi, Jeudi)
Voici mon code
► Afficher le texte
Code : Tout sélectionner
;
#Include <File.au3>
#Include <Array.au3>
;**********************************************************************************************
;
; Déclaration des variables
;
;**********************************************************************************************
$i = 0 ; compteur
$j = 0 ; compteur
$file ="" ; identifiant du fichier
$repertoire = "" ; Tableau contenant le nom des répertoires a supprimer
; repertoire[0][0] = contient le nombre de répertoires dont le contenu est à supprimer (appelé répertoire courant)
; repertoire[$i][0] = Nom de la clé lu dans le fichier param.ini
; repertoire[$i][1] = contient le nom du répertoire dont le contenu est à supprimer (lu dans le fichier param.ini)
$FileList = "" ; Tableau contenant le noms des fichiers/répertoires à supprimer
; FileList [0] = Nombre de répertoires à supprimer
; FileList [$i] = Nom du répertoire à supprimer
$ficlog = "nettoye.log" ; fichier de logs journalier rempli par l'exe sera au même endroit que l'exe
$jour = "" ; jour de la semaine
;**********************************************************************************************
;
; Programme
;
;**********************************************************************************************
_FileWriteLog($ficlog," ") ; écriture fichier log
_FileWriteLog($ficlog,"Nettoyage répertoire") ; écriture fichier log
_FileWriteLog($ficlog,"--------------------") ; écriture fichier log
$file = FileOpen("param.ini", 0) ; Ouverture du fichier param.ini
$repertoire = IniReadSection("param.ini", "repertoire") ; lecture de la section repertoire
If @error Then
MsgBox(4096, "", "Fichier Param.ini non trouvé") ; si fichier param.ini non trouvé "Message d'erreur"
_FileWriteLog($ficlog,"Fichier Param.ini non trouvé") ; écriture fichier log
Else
For $i = 1 To $repertoire[0][0] ; De 1 à Nombre de répertoires dont le contenu est à supprimer
_FileWriteLog($ficlog,"suppression contenu du repertoire " & $repertoire[$i][1]); écriture fichier log
FileDelete($repertoire[$i][1]) ; suppression de tous les fichiers du répertoire courant
$FileList=_FileListToArray($repertoire[$i][1]) ; Récupère la liste des fichiers/répertoires du répertoire courant
If @error <> 1 and @error <> 4 Then ; Si le repertoire existe et qu'il y a des fichiers/respertoires à supprimer
For $j = 1 to $FileList[0] ; De 1 à Nbre de répertoires à supprimer
_FileWriteLog($ficlog,"suppression contenu du repertoire" & $repertoire[$i][1] & "\" & $FileList[$j])
DirRemove($repertoire[$i][1] & "\" & $FileList[$j], 1) ; Suppression du répertoire
Next
EndIf
Next
EndIf
Le fichier .INI contient ceci
► Afficher le texte
Code : Tout sélectionner
REM
REM
REM
REM
REM
REM
rem CONTIENT LE NOM DES REPERTOIRES DONT LE CONTENU EST A EFFACER
[repertoire]
repertoire1=D:\save\TESTSERVEUR1\lundi
repertoire2=D:\save\TESTSERVEUR1\mardi
repertoire3=D:\save\TESTSERVEUR2\lundi
Est t-il possible de dire par exemple : Si on est Lundi rechercher dans param.ini tout ce qui contient lundi et de les supprimer????
Je pense qu'il faut utiliser "@wday@ mais je sais pas comment faire
J'espère que vous m'avez compris....
Et merci de votre aide!!