Je cherche à écrire un script qui va télécharger avec wget 3 fichiers
(wget http://url/file ) et qui me les sauvegarde dans un repertoire en
suffixant la date du jour au nom du fichier.
j'aimerai qu'il supprime le ou les fichier (s) dont la date est la plus
anciènne de manière à n'en conserver que les 10 fichiers les plus récents.
pour l'automatisation de son execution je me débrouillerai avec le
planificateur de taches.
Je ne connais que quelques petit truc en wsh mais pas assez pour faire ca.
Merci Gilles pour ce script bien expliqué et commenté. Ca fonctionne sans pb.
"Gilles LAURENT" a écrit dans le message de news:
"Anonyme" a écrit dans le message de news: | Bonjour,
Bonjour,
| Je cherche à écrire un script qui va télécharger avec wget 3 | fichiers (wget http://url/file ) et qui me les sauvegarde dans un | repertoire en suffixant la date du jour au nom du fichier. | j'aimerai qu'il supprime le ou les fichier (s) dont la date est la | plus anciènne de manière à n'en conserver que les 10 fichiers les | plus récents.
En complément de la réponse de Michel, ci-dessous le script batch "copyHttp.cmd" permettant de réaliser les opérations demandées.
+++ Pré requis 1- créez le dossier de reception (par exemple C:Transfert) 2- déposez le script copyHttp.cmd dans ce dossier 3- l'outil wget doit être dans le path
+++ Syntaxe copyHttp url file1 file2 file3
Par exemple : C:Transfert>copyHttp http://site.intra f1.txt "f 2.txt" f3.txt
Note : Les fichiers composés de noms longs doivent être spécifiés entre guillemets.
-- Coupez ici : copyHttp.cmd --
@echo off setlocal pushd %~dp0
:: construction des filtres de purge set f1=dir /b /o-n /a-d set f2=find /v "%~n0%~x0"
:: construction de la date du jour au format aaaammjj for /f "tokens=1-3 delims=/" %%i in ('echo %date%') do ( set fmtdate=%%k%%j%%i )
:: téléchargement des tois fichiers spécifiés :: les fichiers sont sauvegardés dans le dossier courant wget "%1/%~2" -O"%fmtdate%_%~2" wget "%1/%~3" -O"%fmtdate%_%~3" wget "%1/%~4" -O"%fmtdate%_%~4"
:: seuls les dix fichiers les plus récents sont conservés for /f "skip tokens=*" %%i in ('%f1% ^| %f2%') do ( echo [ ] deleting "%%i" ... del "%%i" )
popd endlocal
-- Coupez ici : copyHttp.cmd --
-- Gilles LAURENT Me contacter : http://cerbermail.com/?zoTY7ZkLcD
Merci Gilles pour ce script bien expliqué et commenté. Ca
fonctionne sans
pb.
"Gilles LAURENT" <glsft@free.fr> a écrit dans le message
de news:
OKT2Eo1zGHA.476@TK2MSFTNGP06.phx.gbl...
"Anonyme" <inbox.glaunais@gmail.com> a écrit
dans le message
de news:ujeo6YuzGHA.772@TK2MSFTNGP05.phx.gbl
| Bonjour,
Bonjour,
| Je cherche à écrire un script qui va
télécharger avec wget 3
| fichiers (wget http://url/file ) et qui me les sauvegarde dans un
| repertoire en suffixant la date du jour au nom du fichier.
| j'aimerai qu'il supprime le ou les fichier (s) dont la date est la
| plus anciènne de manière à n'en conserver que les 10
fichiers les
| plus récents.
En complément de la réponse de Michel, ci-dessous le script batch
"copyHttp.cmd" permettant de réaliser les opérations
demandées.
+++ Pré requis
1- créez le dossier de reception (par exemple C:Transfert)
2- déposez le script copyHttp.cmd dans ce dossier
3- l'outil wget doit être dans le path
+++ Syntaxe
copyHttp url file1 file2 file3
Par exemple :
C:Transfert>copyHttp http://site.intra f1.txt "f 2.txt" f3.txt
Note : Les fichiers composés de noms longs doivent être
spécifiés entre
guillemets.
-- Coupez ici : copyHttp.cmd --
@echo off
setlocal
pushd %~dp0
:: construction des filtres de purge
set f1=dir /b /o-n /a-d
set f2=find /v "%~n0%~x0"
:: construction de la date du jour au format aaaammjj
for /f "tokens=1-3 delims=/" %%i in ('echo %date%') do (
set fmtdate=%%k%%j%%i
)
:: téléchargement des tois fichiers spécifiés
:: les fichiers sont sauvegardés dans le dossier courant
wget "%1/%~2" -O"%fmtdate%_%~2"
wget "%1/%~3" -O"%fmtdate%_%~3"
wget "%1/%~4" -O"%fmtdate%_%~4"
:: seuls les dix fichiers les plus récents sont conservés
for /f "skip tokens=*" %%i in ('%f1% ^| %f2%') do (
echo [ ] deleting "%%i" ...
del "%%i"
)
popd
endlocal
-- Coupez ici : copyHttp.cmd --
--
Gilles LAURENT
Me contacter : http://cerbermail.com/?zoTY7ZkLcD
Merci Gilles pour ce script bien expliqué et commenté. Ca fonctionne sans pb.
"Gilles LAURENT" a écrit dans le message de news:
"Anonyme" a écrit dans le message de news: | Bonjour,
Bonjour,
| Je cherche à écrire un script qui va télécharger avec wget 3 | fichiers (wget http://url/file ) et qui me les sauvegarde dans un | repertoire en suffixant la date du jour au nom du fichier. | j'aimerai qu'il supprime le ou les fichier (s) dont la date est la | plus anciènne de manière à n'en conserver que les 10 fichiers les | plus récents.
En complément de la réponse de Michel, ci-dessous le script batch "copyHttp.cmd" permettant de réaliser les opérations demandées.
+++ Pré requis 1- créez le dossier de reception (par exemple C:Transfert) 2- déposez le script copyHttp.cmd dans ce dossier 3- l'outil wget doit être dans le path
+++ Syntaxe copyHttp url file1 file2 file3
Par exemple : C:Transfert>copyHttp http://site.intra f1.txt "f 2.txt" f3.txt
Note : Les fichiers composés de noms longs doivent être spécifiés entre guillemets.
-- Coupez ici : copyHttp.cmd --
@echo off setlocal pushd %~dp0
:: construction des filtres de purge set f1=dir /b /o-n /a-d set f2=find /v "%~n0%~x0"
:: construction de la date du jour au format aaaammjj for /f "tokens=1-3 delims=/" %%i in ('echo %date%') do ( set fmtdate=%%k%%j%%i )
:: téléchargement des tois fichiers spécifiés :: les fichiers sont sauvegardés dans le dossier courant wget "%1/%~2" -O"%fmtdate%_%~2" wget "%1/%~3" -O"%fmtdate%_%~3" wget "%1/%~4" -O"%fmtdate%_%~4"
:: seuls les dix fichiers les plus récents sont conservés for /f "skip tokens=*" %%i in ('%f1% ^| %f2%') do ( echo [ ] deleting "%%i" ... del "%%i" )
popd endlocal
-- Coupez ici : copyHttp.cmd --
-- Gilles LAURENT Me contacter : http://cerbermail.com/?zoTY7ZkLcD
Gilles LAURENT
"Guillaume" a écrit dans le message de news:ey4XPUO% | Merci Gilles pour ce script bien expliqué et commenté. Ca | fonctionne sans pb.
Merci pour ce retour ;-)
-- Gilles LAURENT http://glsft.free.fr Me contacter : http://cerbermail.com/?zoTY7ZkLcD
"Guillaume" <inbox.glaunais@gmail.com> a écrit dans le message de
news:ey4XPUO%23GHA.1168@TK2MSFTNGP03.phx.gbl
| Merci Gilles pour ce script bien expliqué et commenté. Ca
| fonctionne sans pb.
Merci pour ce retour ;-)
--
Gilles LAURENT
http://glsft.free.fr
Me contacter : http://cerbermail.com/?zoTY7ZkLcD