Watch Folder
Modérateur : WIN32-[GG]
Watch Folder
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
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
Re: Watch Folder
Bonjour cnelson
Ç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!
Ç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!
Re: Watch Folder
Merci de ta reponse
Pas de solution... simple, pour faire un watch folder ?
Pas de solution... simple, pour faire un watch folder ?
Re: Watch Folder
Code : Tout sélectionner
schtasks
Code : Tout sélectionner
at
non ? c'est un tout petit moins lourd qu'une boucle infini à mon avis
Re: Watch Folder
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/
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/
Re: Watch Folder
Bonjour
Robocopy.exe associé à une tache planifiée peut etre, ou cron.exe
Robocopy.exe associé à une tache planifiée peut etre, ou cron.exe
Envie de partager vos programmes :
Poster vos codes sur BatchClipboad.info
Poster vos codes sur BatchClipboad.info
-
- Batcheur débutant
- Messages : 27
- Enregistré le : 07 mars 2011 21:48
Re: Watch Folder
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
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
Re: Watch Folder
Bonjour
Tu as raison "Joe cateline", faire un boucle toute les 2sec ne changera quasiment rien mais optimisera nettement la performence du pc
il suffit de mettre ce petit bout de code:
Bonne soirée a tous
Tu as raison "Joe cateline", faire un boucle toute les 2sec ne changera quasiment rien mais optimisera nettement la performence du pc
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
N'oublier pas de mettre [Résolu]. Le procéder est mis dans une annonce!
Re: Watch Folder
Joli boucle Dodoche28 !!!
ou une autre méthode peut être, grâce au scheduler ? :
extrait de l'aide pour étayer un peu :
ou une autre méthode peut être, grâce au scheduler ? :
Code : Tout sélectionner
schtasks /create
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