Watch Folder

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
cnelson
Batcheur occasionnel
Messages : 3
Enregistré le : 24 févr. 2011 13:11

Watch Folder

Message par cnelson »

Bonjour à tous
Je cherche à faire un "watch folder" c'est à dire que mon script surveille un dossier vide et quand on met un ou plusieurs fichiers dans ce dossier, ils sont traités par mon script.
J'ai pensé à faire une boucle infinie mais ça ne risque pas de prendre des ressources ?

merci de votre aide
Avatar du membre
Dodoche28
King Of Batch
Messages : 84
Enregistré le : 18 août 2010 17:07
Contact :

Re: Watch Folder

Message par Dodoche28 »

Bonjour cnelson :mrgreen:

:arrow: Ça dépend de plein de chose notamment de la config de ton PC, des programmes qui sont entrain d'être utilisé (la mémoire utilisé de la RAM) et la complexité de ton Batch.
Ça risque en effet de faire ramer un peu ton PC, surtout si tu fait exécuter au démarrage de ton PC ce Batch! :)
N'oublier pas de mettre [Résolu]. Le procéder est mis dans une annonce!
cnelson
Batcheur occasionnel
Messages : 3
Enregistré le : 24 févr. 2011 13:11

Re: Watch Folder

Message par cnelson »

Merci de ta reponse

Pas de solution... simple, pour faire un watch folder ?
plopi
Batcheur débutant
Messages : 16
Enregistré le : 04 mars 2011 00:10

Re: Watch Folder

Message par plopi »

Code : Tout sélectionner

schtasks
 

Code : Tout sélectionner

at
 


non ? c'est un tout petit moins lourd qu'une boucle infini à mon avis
scrunchs
Batcheur occasionnel
Messages : 3
Enregistré le : 09 mars 2011 04:16

Re: Watch Folder

Message par scrunchs »

Bonsoir,

j'ai un problème similaire au votre, et j'ai trouvé ceci qui devrait y répondre, sauf que je ne sais pas le mettre en oeuvre, si vous savez faire, dires moi ....

http://www.commandline.co.uk/lib/treeview/
Laddy
SuperBatcher
Messages : 190
Enregistré le : 04 juil. 2008 13:40

Re: Watch Folder

Message par Laddy »

Bonjour
Robocopy.exe associé à une tache planifiée peut etre, ou cron.exe
Envie de partager vos programmes :
Poster vos codes sur BatchClipboad.info
Joe cateline
Batcheur débutant
Messages : 27
Enregistré le : 07 mars 2011 21:48

Re: Watch Folder

Message par Joe cateline »

Bonjour cnelson,

Je débute dans ce domaine mais comme le dit Dodoche28, une boucle infini risque de faire ramer l'ordi...
Mais si on boucle seulement toutes les 2 ou 3 secondes au lieu de ~ 1900 fois par secondes pour une boucle classique cela n'aurait que pour effet d'attendre 2 ou 3 secondes maximum avant l'exécution de ton script mais je ne sais pas si la commande timeout, sleep ou ping fait elle aussi une boucle et donc ça reviendrait au même...

En espérant faire avancer le schmilblick, bon courage
Avatar du membre
Dodoche28
King Of Batch
Messages : 84
Enregistré le : 18 août 2010 17:07
Contact :

Re: Watch Folder

Message par Dodoche28 »

Bonjour :mrgreen:

Tu as raison "Joe cateline", faire un boucle toute les 2sec ne changera quasiment rien mais optimisera nettement la performence du pc :)

:geek: il suffit de mettre ce petit bout de code:

Code : Tout sélectionner

@echo off
:boucle
ping 0.0.0.0 -w 3000 >nul
set DISK=C:\Users\Utilisateur\Documents
setlocal ENABLEDELAYEDEXPANSION
for /F "tokens=3 delims= " %%a in ('dir /S "%DISK%" 2^>nul ^| findstr /E /L "octets" ') do (set TAILLE=%%a)
for /F "tokens=1,2,3* delims=ÿ" %%a in ("%TAILLE%") do (
set /a TAILLE_MO=%%a%%b%%c*10/10485
echo !TAILLE_MO! Mo
set /a taille_KO=!TAILLE_MO!*1024
IF "%taille_KO%"=="0" (goto :boucle) else (goto :TRAITEMENT)
)
endlocal
:TRAITEMENT
echo Traitement en cours...
:: .... le code ....
ping 0.0.0.0 -w 2000 >nul
 
:arrow: Bonne soirée a tous :)
N'oublier pas de mettre [Résolu]. Le procéder est mis dans une annonce!
plopi
Batcheur débutant
Messages : 16
Enregistré le : 04 mars 2011 00:10

Re: Watch Folder

Message par plopi »

Joli boucle Dodoche28 !!! :)

ou une autre méthode peut être, grâce au scheduler ? :

Code : Tout sélectionner

schtasks /create 
 
extrait de l'aide pour étayer un peu :

Code : Tout sélectionner


    ==> Crée une tâche planifiée "comptable" sur l'ordinateur distant
        "ABC" pour exécuter calc.exe toutes les cinq minutes entre
        l'heure de début et l'heure de fin spécifiées à partir de la date
        de début jusqu'à la date de fin.

        SCHTASKS /Create /S ABC /U domaine\utilisateur /P mot_passe
        /SC MINUTE
                 /MO 5 /TN comptable /TR calc.exe /ST 12:00 /ET 14:00
                 /SD 06/06/2006 /ED 06/06/2006 /RU nom_emprunt /RP
                 mot_de_passe_utilisateur
 
Répondre