Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
387 connectés 

  FORUM HardWare.fr
  Windows & Software
  Logiciels

  cherche logiciel ou .bat pour suppression dossier de plus de 7 jours

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

cherche logiciel ou .bat pour suppression dossier de plus de 7 jours

n°3342786
kinder53
Posté le 10-05-2019 à 17:31:47  profilanswer
 

Bonjour,
voilà j'ai une caméra ip, qui enregistre des photos et vidéo sur détection
elle est paramétrée pour les mettre dans ce dossier:
E: /Camera
pour chaque jour, elle crée à cet emplacement;
un dossier avec la date du jour, avec à l’intérieur deux sous dossiers
un:
- images
et un
- record
comme sur cette photo
https://image.noelshack.com/minis/2019/19/5/1557502037-cam.png
 
a l'heure actuelle j'ai ce .bat qui s’exécute 1 fois par semaine tout les dimanche à 22h
le hic c'est que certe, au bout d'une semaine ça efface bien tout le contenu du dossier E: /Camera,
mais c'est pas bon car en effet si il s'est passé quelque chose le dimanche dans la journée ou même le samedi et que je ne m'en suis pas rendu compte avant 22h alors la vidéo sera effacé à 22h.

Citation :

SET dossier=Camera
SET dossier=%~dp0%dossier%
DEL "%dossier%\*.*" /F/Q/A
FOR /D %%a IN ("%dossier%\*" ) DO RD "%%a" /S/Q


 
ce que je voudrais c'est que ce .bat s’exécute bien une fois par semaine le dimanche à 22h mais qu'il efface seulement le contenue du dossier E: /Camera qui a + de 7 jours pour que j'ai 7 jour pour me rendre compte s'il s'est passé quelque chose , pour pouvoir regarder les vidéo et images.
 
j’espère que vous comprendrez ce que je veux dire, je veux en fait que soit sauvegardé 7 jours d'enregistrement.
par exemple
01/01/2020
02/01/2020
03/01/2020
04/01/2020
05/01/2020
06/01/2020
07/01/2020
le 8/01/2020 restera à l'emplacement E: /Camera
02/01/2020
03/01/2020
04/01/2020
05/01/2020
06/01/2020
07/01/2020
08/01/2020
le 09/01/2020 restera à l'emplacement E: /Camera
03/01/2020
04/01/2020
05/01/2020
06/01/2020
07/01/2020
08/01/2020
09/01/2020
 
etc .............
précision je suis sous Windows 10
 
merci beaucoup pour votre aide


Message édité par kinder53 le 10-05-2019 à 17:39:26
mood
Publicité
Posté le 10-05-2019 à 17:31:47  profilanswer
 

n°3342817
azertyiop
Posté le 11-05-2019 à 09:51:05  profilanswer
 

salut, sois prudent, ca peut t'aider a completer ton script peut etre
 
Attention : pour tester au début, change la valeur del par echo pour afficher les fichiers a supprimer sans les supprimer !!!
 
https://www.synergeek.fr/forfiles-u [...] -fichiers/


Message édité par azertyiop le 11-05-2019 à 10:02:08
n°3342827
Je@nb
Modérateur
In ze cloud
Posté le 11-05-2019 à 11:26:40  profilanswer
 

on est en 2019 hein, on a inventé PowerShell depuis plus de 10 ans, il serait peut être temps d'y passer … Ca se fait en une ligne.
 

Code :
  1. Get-ChildItem –Path "E:\Camera" -Recurse | Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-7))} | Remove-Item

n°3342839
kinder53
Posté le 11-05-2019 à 13:23:31  profilanswer
 

bonjour Je@nb,
je te remercie mais ça ne fonctionne pas
code trouvé ailleurs,  
on voit toute la progression dans la fenêtre qui s'ouvre et il crée un.log
 :bounce:  
 

Code :
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. rem Le chemin vers le dossier
  4. set Folder=E:\Camera
  5. rem chemin vers le dossier où sont stockés les log
  6. set FOLDER_LOG=E:\Camera-log
  7. set jour=15
  8. rem True : le code se ferme après exécution
  9. rem False : le code attends l'appui d'une touche
  10. set exitAfterEnd=False
  11. rem On recupère la Date
  12. call :getDate CurrentYear CurrentMonth CurrentDay
  13. set c=[CONSOLE]
  14. echo;!c! !CurrentYear! - !CurrentMonth! - !CurrentDay!
  15. echo;!c! Work in "!Folder!"
  16. echo;
  17. rem On se place dans le dossier "!Folder!"
  18. pushd "!Folder!"
  19. rem On itère sur chacun des dossiers
  20. for /f "tokens=*" %%i in ('dir /b /ad') do (
  21. rem On parse la Date
  22. call :Parse "%%~nxi" Year Month Day
  23. rem On fait la différence en jour avec la date actuelle
  24. call :DateDiff "!CurrentMonth!-!CurrentDay!-!CurrentYear!" "!Month!-!Day!-!Year!" Diff
  25. rem On affiche le nom du dossier entrain d'être traité
  26. echo;!c! Folder "%%~nxi":
  27. echo;        - Parsing: "!Month!-!Day!-!Year!"
  28. echo;        - DayDiff: !Diff!
  29. rem Si la différence en jour est supérieur ou égale à 7, on supprime
  30.   if !Diff! GEQ !jour! (
  31.     echo;        - Status: Deleted 
  32.     rd /s /q "%%~i"  >nul 2>&1
  33.     echo;"!Folder!\%%~nxi" >> "!FOLDER_LOG!\!CurrentMonth!!CurrentDay!!CurrentYear!.log"
  34. rem Sinon on fait rien
  35.   ) else (
  36.     echo;        - Status: ^NOT Deleted 
  37.   )
  38. )
  39. rem On sort du dossier "!Folder!"
  40. popd
  41. rem On affiche que le traitement est fini
  42. echo;
  43. echo;!c! End^^!
  44. if /i "!exitAfterEnd!"=="true" exit
  45. pause>nul&exit
  46. :getDate <Output:Year> <Output:Month> <Output:Day>
  47.   set %~1=&set %~2=&set %~3=
  48.   for /f "skip=1 tokens=1-3" %%1 in ('WMIC Path Win32_LocalTime Get Year^,Month^,Day /Format:table') do (
  49.     if "!%~1!"=="" set "%~1=0000%%3"
  50.     if "!%~2!"=="" set "%~2=00%%2"
  51.     if "!%~3!"=="" set "%~3=00%%1"
  52.   )
  53.   set %~1=!%~1:~-4!
  54.   set %~2=!%~2:~-2!
  55.   set %~3=!%~3:~-2!
  56. Exit /b 0
  57. :Parse <Date> <Year> <Month> <Day>
  58.   set tmpdate=%~1
  59.   set %~2=!tmpdate:~0,4!
  60.   set %~3=!tmpdate:~4,2!
  61.   set %~4=!tmpdate:~6,2!
  62. Exit /b 0
  63. :DateDiff <Date1> <Date2> <Output:Diff>
  64.   echo Wscript.Echo #%~1# - #%~2# > "%temp%\tmp.vbs"
  65.   for /f %%i in ('cscript /nologo "%temp%\tmp.vbs"') do set "%~3=%%i"
  66.   del "%temp%\tmp.vbs" /q
  67. Exit /b 0


n°3342847
Je@nb
Modérateur
In ze cloud
Posté le 11-05-2019 à 14:59:50  profilanswer
 

[:prozac] putain ce bordel inutile

n°3342851
kinder53
Posté le 11-05-2019 à 15:28:30  profilanswer
 

peut être mais celui ci fonctionne c'est le principal
et reste polie s'il te plait merci


Message édité par kinder53 le 11-05-2019 à 15:35:30
n°3342968
azertyiop
Posté le 13-05-2019 à 08:42:09  profilanswer
 

merci du retour, bon faudra quand meme investir dans un plus gros disque a l'avenir ^^

n°3342969
nex84
Dura lex, sed lex
Posté le 13-05-2019 à 08:44:35  profilanswer
 

J'aimerais bien savoir ce qui ne fonctionne pas dans la ligne Powershell de Je@nb, parce que franchement je ne vois pas ...
 
Et puis ce script .... Au secours....
 [:mike hoksbiger:3]

Message cité 1 fois
Message édité par nex84 le 13-05-2019 à 08:44:54

---------------
#TeamNoBidouille || Come to the Dark Side, we have cookies || Mangez 5 fruits et légumes par an ! || Quand on ne sait pas, on ne fait pas ou on ne se plaint pas !
n°3342984
Je@nb
Modérateur
In ze cloud
Posté le 13-05-2019 à 10:26:20  profilanswer
 

mon script supprime les fichiers, là il veut supprimer les dossiers correspondant aux jours en questions.
Ca aurait aussi pris qq lignes en powershell mais vu qu'il a sorti son usine à gaz, flemme de réfléchir

n°3343012
flash_gord​on
Posté le 13-05-2019 à 16:09:28  profilanswer
 

nex84 a écrit :

J'aimerais bien savoir ce qui ne fonctionne pas dans la ligne Powershell de Je@nb, parce que franchement je ne vois pas ...
 


 
Probablement le fait qu'il a essayé de l'exécuter dans cmd...


---------------
Survivre à sa migration WP->Android

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Logiciels

  cherche logiciel ou .bat pour suppression dossier de plus de 7 jours

 

Sujets relatifs
Mise a jours qui boucle KB4493509Dossier disparaît du disque dur "found.001\dir0001.chk"
Mon windows 10 ne se met plus en écran veilleRecherche de logiciel d'optimisation linéaire
Meilleur logiciel pour sécurisé mes dossiersSauvegarde de mon dossier photo
Logiciel pour netteté in game ?[Résolu] Refus de supprimer un dossier sur le bureau!
logiciel de messagerie[RCH] Logiciel de synchonisation (très) spécifique
Plus de sujets relatifs à : cherche logiciel ou .bat pour suppression dossier de plus de 7 jours


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR