fichier bat pour delete avec option

fichier bat pour delete avec option - Win NT/2K/XP - Windows & Software

Marsh Posté le 25-11-2005 à 21:45:29    

Bonsoir,
 
J'ai des fichiers type .avi comme ceci:
 "20051125205324.avi"
"20051125215324.avi"
"20051125225324.avi"
 
 
Avec mon fichier .bat j'aimerais effacer certain de ces fichiers par rapport à la date de création est-ce possible?
 
2005=année 11=mois 25=jour 20=heures 53=minutes 24=seconde
 
Si je veux effacer tous les fichiers qui ont pour heure de 07h00 à 23h00 quelle est la commande?
 
Y a t'il un exemple sur le net?
 
Je connais :
 
XCOPY "C:\Program Files\*.*"  d:\DCIM\*.*  /S /E /C /H /Y
 
Qui copy exemple tous dans programme Files et copy dans le répertoire D:DCIM
 
Pour la suite j’ai besoin d’aide.
 
Merci

Reply

Marsh Posté le 25-11-2005 à 21:45:29   

Reply

Marsh Posté le 25-11-2005 à 21:53:45    

Et que donnent les dates et heures de modif des fichiers? Elles ne sont pas correctes?

Reply

Marsh Posté le 25-11-2005 à 21:57:45    

Wolfman a écrit :

Et que donnent les dates et heures de modif des fichiers? Elles ne sont pas correctes?


 
 
Salut les dates et heures sont correcte simplement j'aimerais supprimer les images enregistrées de 07h00 à 22h00, car c'est une caméra IP qui fonctionne sous motion detection et je ne peux pas lui dire de commencer sa motion le soir à 22h00.
Alors tous ces video sur mon serveur ne sert à rien sauf celle de nuit.
 

Reply

Marsh Posté le 26-11-2005 à 00:04:00    

Tu peux le faire avec un batch :  
----------------------------------------  
@echo off
 
setlocal enableExtensions
 
set FICHIERS=Z:\*.avi
 
for %%f in ("%FICHIERS%" ) do (
  set FICHIER=%%~nxf
  call :supprimer
)
goto end
 
:supprimer
set HEURE=%FICHIER:~8,6%
if "%HEURE%" geq "070000" (
  if "%HEURE%" leq "230000" (
    echo del /q %FICHIER%
  )
)
 
:end
endlocal&&goto :eof
----------------------------------------  
 
Ce script liste des fichiers à supprimer. Si c'est bien ce que tu veux, enlève le mot echo à la ligne :  
echo del /q %FICHIER%

Reply

Marsh Posté le 26-11-2005 à 16:31:10    

wackevat a écrit :

Tu peux le faire avec un batch :  
----------------------------------------  
@echo off
 
setlocal enableExtensions
 
set FICHIERS=Z:\*.avi
 
for %%f in ("%FICHIERS%" ) do (
  set FICHIER=%%~nxf
  call :supprimer
)
goto end
 
:supprimer
set HEURE=%FICHIER:~8,6%
if "%HEURE%" geq "070000" (
  if "%HEURE%" leq "230000" (
    echo del /q %FICHIER%
  )
)
 
:end
endlocal&&goto :eof
----------------------------------------  
 
Ce script liste des fichiers à supprimer. Si c'est bien ce que tu veux, enlève le mot echo à la ligne :  
echo del /q %FICHIER%


 
Salut super merci infiniment pour cette réponse sa fonctionne à merveille!!!!!
Bon wekk-end à toi.

Message cité 1 fois
Message édité par spoque le 26-11-2005 à 16:31:31
Reply

Marsh Posté le 05-12-2005 à 12:33:26    

spoque a écrit :

Salut super merci infiniment pour cette réponse sa fonctionne à merveille!!!!!
Bon wekk-end à toi.


 
 
Bonjour,
 
Ce code fonctionne parfaitement bien mais comment lui dire qu'il efface aussi les fichiers qui date de plus de 7 jours?
 
@echo off  
 
setlocal enableExtensions  
 
set FICHIERS=C:\Program Files\EasyPHP1-7\www\SOHO2_MotionFiles\CAM1_SOHO2\*.avi  
 
for %%f in ("%FICHIERS%" ) do (  
  set FICHIER=%%~nxf  
  call :supprimer  
)  
goto end  
 
:supprimer  
set HEURE=%FICHIER:~8,6%  
if "%HEURE%" geq "062900" (  
  if "%HEURE%" leq "225900" (  
     del /q %FICHIER%  
  )  
)  
:end  
endlocal&&goto :eof  
 
 
Merci

Reply

Marsh Posté le 05-12-2005 à 20:35:04    

Ca c'est plus compliqué, parce qu'il faut prendre en compte le nombre de jours par mois.
 
Tu peux consulter la sous-cat Programmation -> Shell/Batch où des exemples y ont été postés. Ou t'investir dans du vbs. Ou utiliser toujours du batch mais avec l'aide d'un exécutable supplémentaire (isdate.exe trouvable sur le net par exemple).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed