Voici le problème. Dans le répertoire c:\1 il y aura des fichiers pdf qui
seront déposé à divers moments de la journée. Ce que je veux faire, c'est un
couper-coller des fichiers du répertoire c:\1 vers c:\2 ; mais uniquement les
fichiers qui auront été créer entre 0h00 et 18h00 la journnée où sera exécuté
le script. Biensûr, le script sera exécuté à chaque jour
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel Claveau
Bonjour !
Tu peux t'inspirer du Batch ci-dessous (à adapter)
@+
Michel Claveau
::copie-tranche-horaire (pour XP ou WS2003) :: ne marche pas pour les noms de fichiers de plus de 255 caractères
@echo off setlocal
::dir de destination de la copie set DEST=C:DEVBAT
::source (pattern des fichiers) set REP=C:DEVBATex*.bat
::date de sélection set SDATE".12.2005
::entre 13h.00 (compris) set HDEB
::et 19h.59 (compris) set HFIN"
for /F "usebackq delims=" %%a in (`dir %REP% /N /4 /O:D`) do call :SUB %%a
endlocal goto :EOF
:SUB set LIG=%* set H=%LIG:~12,2% set TDAT=%LIG:~0,10% if /I "%LIG:~0,10%" EQU "%SDATE%" if /I %H% GEQ %HDEB% if /I %H% LEQ %HFIN% echo XCOPY %LIG:~36,255% %DEST% /Y goto :EOF
-- @-salutations
Michel Claveau
Bonjour !
Tu peux t'inspirer du Batch ci-dessous (à adapter)
@+
Michel Claveau
::copie-tranche-horaire (pour XP ou WS2003)
:: ne marche pas pour les noms de fichiers de plus de 255 caractères
@echo off
setlocal
::dir de destination de la copie
set DEST=C:DEVBAT
::source (pattern des fichiers)
set REP=C:DEVBATex*.bat
::date de sélection
set SDATE".12.2005
::entre 13h.00 (compris)
set HDEB
::et 19h.59 (compris)
set HFIN"
for /F "usebackq delims=" %%a in (`dir %REP% /N /4 /O:D`) do call
:SUB %%a
endlocal
goto :EOF
:SUB
set LIG=%*
set H=%LIG:~12,2%
set TDAT=%LIG:~0,10%
if /I "%LIG:~0,10%" EQU "%SDATE%" if /I %H% GEQ %HDEB% if /I %H%
LEQ %HFIN% echo XCOPY %LIG:~36,255% %DEST% /Y
goto :EOF
Tu peux t'inspirer du Batch ci-dessous (à adapter)
@+
Michel Claveau
::copie-tranche-horaire (pour XP ou WS2003) :: ne marche pas pour les noms de fichiers de plus de 255 caractères
@echo off setlocal
::dir de destination de la copie set DEST=C:DEVBAT
::source (pattern des fichiers) set REP=C:DEVBATex*.bat
::date de sélection set SDATE".12.2005
::entre 13h.00 (compris) set HDEB
::et 19h.59 (compris) set HFIN"
for /F "usebackq delims=" %%a in (`dir %REP% /N /4 /O:D`) do call :SUB %%a
endlocal goto :EOF
:SUB set LIG=%* set H=%LIG:~12,2% set TDAT=%LIG:~0,10% if /I "%LIG:~0,10%" EQU "%SDATE%" if /I %H% GEQ %HDEB% if /I %H% LEQ %HFIN% echo XCOPY %LIG:~36,255% %DEST% /Y goto :EOF
-- @-salutations
Michel Claveau
Méta-MCI
Oups !
Petite erreur. Il faut remplacer la ligne set HFIN" par set HFIN pour être en conformité avec les commentaires
Désolé.
MCI
Oups !
Petite erreur. Il faut remplacer la ligne
set HFIN"
par
set HFIN
pour être en conformité avec les commentaires
Petite erreur. Il faut remplacer la ligne set HFIN" par set HFIN pour être en conformité avec les commentaires
Désolé.
MCI
Gilles LAURENT
"Lanidrak" a écrit dans le message de news: | Bonjour à tous.
Bonjour,
| Voici le problème. Dans le répertoire c:1 il y aura des fichiers pdf | qui seront déposé à divers moments de la journée. Ce que je veux | faire, c'est un couper-coller des fichiers du répertoire c:1 vers | c:2 ; mais uniquement les fichiers qui auront été créer entre 0h00 | et 18h00 la journnée où sera exécuté le script. Biensûr, le script | sera exécuté à chaque jour
Une version batch alternative permettant de déplacer les fichiers créés entre 0h00 et 17h59 d'un répertoire vers un autre. Les répertoires source et destination sont transmis comme arguments :
@echo off setlocal set d=dir /tc /a-d set p1=findstr "[0-1].:" & set p2=findstr /v "1[8-9]:" for /f "tokens=4*" %%i in ('%d% "%~1"^|%p1%^|%p2%') do ( echo Moving file %%i ... move /y "%~1%%i" "%~2" ) endlocal
--- Coupez ici : moveFile.cmd ---
-- Gilles LAURENT http://glsft.free.fr
"Lanidrak" <Lanidrak@discussions.microsoft.com> a écrit dans le message
de news:E4EE3E5B-E84E-4FC0-9072-9C56AB6D0219@microsoft.com
| Bonjour à tous.
Bonjour,
| Voici le problème. Dans le répertoire c:1 il y aura des fichiers pdf
| qui seront déposé à divers moments de la journée. Ce que je veux
| faire, c'est un couper-coller des fichiers du répertoire c:1 vers
| c:2 ; mais uniquement les fichiers qui auront été créer entre 0h00
| et 18h00 la journnée où sera exécuté le script. Biensûr, le script
| sera exécuté à chaque jour
Une version batch alternative permettant de déplacer les fichiers créés
entre 0h00 et 17h59 d'un répertoire vers un autre. Les répertoires
source et destination sont transmis comme arguments :
@echo off
setlocal
set d=dir /tc /a-d
set p1=findstr "[0-1].:" & set p2=findstr /v "1[8-9]:"
for /f "tokens=4*" %%i in ('%d% "%~1"^|%p1%^|%p2%') do (
echo Moving file %%i ...
move /y "%~1%%i" "%~2"
)
endlocal
"Lanidrak" a écrit dans le message de news: | Bonjour à tous.
Bonjour,
| Voici le problème. Dans le répertoire c:1 il y aura des fichiers pdf | qui seront déposé à divers moments de la journée. Ce que je veux | faire, c'est un couper-coller des fichiers du répertoire c:1 vers | c:2 ; mais uniquement les fichiers qui auront été créer entre 0h00 | et 18h00 la journnée où sera exécuté le script. Biensûr, le script | sera exécuté à chaque jour
Une version batch alternative permettant de déplacer les fichiers créés entre 0h00 et 17h59 d'un répertoire vers un autre. Les répertoires source et destination sont transmis comme arguments :
@echo off setlocal set d=dir /tc /a-d set p1=findstr "[0-1].:" & set p2=findstr /v "1[8-9]:" for /f "tokens=4*" %%i in ('%d% "%~1"^|%p1%^|%p2%') do ( echo Moving file %%i ... move /y "%~1%%i" "%~2" ) endlocal
--- Coupez ici : moveFile.cmd ---
-- Gilles LAURENT http://glsft.free.fr
Lanidrak
Voilà mon bout de code qui extiste déjà. Alors comment inclure un condition dans copy pour que les fichiers copier soit uniquement des fichiers déposé dans ce répertoire (c:1) dont la date de création soit inférieur à 18h00.
mkdir %date:~-10% copy c:1*.pdf c:2%date:~-10% del c:1*.pdf
Voilà mon bout de code qui extiste déjà. Alors comment inclure un condition
dans copy pour que les fichiers copier soit uniquement des fichiers déposé
dans ce répertoire (c:1) dont la date de création soit inférieur à 18h00.
mkdir %date:~-10%
copy c:1*.pdf c:2%date:~-10%
del c:1*.pdf
Voilà mon bout de code qui extiste déjà. Alors comment inclure un condition dans copy pour que les fichiers copier soit uniquement des fichiers déposé dans ce répertoire (c:1) dont la date de création soit inférieur à 18h00.
mkdir %date:~-10% copy c:1*.pdf c:2%date:~-10% del c:1*.pdf
Gilles LAURENT
"Lanidrak" a écrit dans le message de news: | Voilà mon bout de code qui extiste déjà. Alors comment inclure un | condition dans copy pour que les fichiers copier soit uniquement des | fichiers déposé dans ce répertoire (c:1) dont la date de création | soit inférieur à 18h00.
Vous avez le script "prêt à l'emploi" un cran au dessus ! Cela ne répond pas à votre besoin ?
-- Gilles LAURENT http://glsft.free.fr
"Lanidrak" <Lanidrak@discussions.microsoft.com> a écrit dans le message
de news:591D8481-B25F-4891-AB8E-D82AF3541F78@microsoft.com
| Voilà mon bout de code qui extiste déjà. Alors comment inclure un
| condition dans copy pour que les fichiers copier soit uniquement des
| fichiers déposé dans ce répertoire (c:1) dont la date de création
| soit inférieur à 18h00.
Vous avez le script "prêt à l'emploi" un cran au dessus !
Cela ne répond pas à votre besoin ?
"Lanidrak" a écrit dans le message de news: | Voilà mon bout de code qui extiste déjà. Alors comment inclure un | condition dans copy pour que les fichiers copier soit uniquement des | fichiers déposé dans ce répertoire (c:1) dont la date de création | soit inférieur à 18h00.
Vous avez le script "prêt à l'emploi" un cran au dessus ! Cela ne répond pas à votre besoin ?
-- Gilles LAURENT http://glsft.free.fr
Lanidrak
Votre batch fonctionne très, mais je voulais simplement savoir comment imbriquer les 2 scripts. Le but final est d'avoir un répertoire un répertoire de réception et de l'autre les sauvegardes journalière d'où le mkdir %date:~-10% et dans ce processus de sauvegarde, les fichiers déposés après 18h00 ne seront pas tranféré dans le répertoire d'aujourd'hui mais dans celui de demain. Ainsi donc, le répertoire du 9-11-2006 contiendra des fichiers qui auront été déposés entre 18h00 le 8 nov et 17h59 le 9 nov.
Voilà pour un peu plus de précision
Votre batch fonctionne très, mais je voulais simplement savoir comment
imbriquer les 2 scripts. Le but final est d'avoir un répertoire un répertoire
de réception et de l'autre les sauvegardes journalière d'où le mkdir
%date:~-10% et dans ce processus de sauvegarde, les fichiers déposés après
18h00 ne seront pas tranféré dans le répertoire d'aujourd'hui mais dans celui
de demain. Ainsi donc, le répertoire du 9-11-2006 contiendra des fichiers qui
auront été déposés entre 18h00 le 8 nov et 17h59 le 9 nov.
Votre batch fonctionne très, mais je voulais simplement savoir comment imbriquer les 2 scripts. Le but final est d'avoir un répertoire un répertoire de réception et de l'autre les sauvegardes journalière d'où le mkdir %date:~-10% et dans ce processus de sauvegarde, les fichiers déposés après 18h00 ne seront pas tranféré dans le répertoire d'aujourd'hui mais dans celui de demain. Ainsi donc, le répertoire du 9-11-2006 contiendra des fichiers qui auront été déposés entre 18h00 le 8 nov et 17h59 le 9 nov.
Voilà pour un peu plus de précision
Gilles LAURENT
"Lanidrak" a écrit dans le message de news: | Votre batch fonctionne très, mais je voulais simplement savoir comment | imbriquer les 2 scripts. Le but final est d'avoir un répertoire un | répertoire de réception et de l'autre les sauvegardes journalière | d'où le mkdir %date:~-10% et dans ce processus de sauvegarde, les | fichiers déposés après 18h00 ne seront pas tranféré dans le | répertoire d'aujourd'hui mais dans celui de demain. Ainsi donc, le | répertoire du 9-11-2006 contiendra des fichiers qui auront été | déposés entre 18h00 le 8 nov et 17h59 le 9 nov. | | Voilà pour un peu plus de précision
Ce "cahier des charges" n'a plus rien à voir avec celui initialement formulé ! Pour ce dernier, je pense que la solution la plus simple consiste à "fermer les portes" (au sens sauvegarde) à 18h00 et donc planifier l'exécution de votre script de sauvegarde à 18H00(+/-). Dans ce scénario, tous les documents déposés dans le répertoire d'acceuil seront automatiquement sauvegardés. Les fichiers créés après 18h00 seront donc dans ce cas sauvegardés le lendemain et dans le répertoire du lendemain. Est-ce vraiment une bonne stratégie de sauvegarde ? Quand mes collaborateurs restituent des fichiers, ils aiment que ce soit à la date spécifiée par l'utilisateur final.
-- Gilles LAURENT http://glsft.free.fr
"Lanidrak" <Lanidrak@discussions.microsoft.com> a écrit dans le message
de news:8AA63588-0F6F-4AEB-8061-1745F99146E7@microsoft.com
| Votre batch fonctionne très, mais je voulais simplement savoir comment
| imbriquer les 2 scripts. Le but final est d'avoir un répertoire un
| répertoire de réception et de l'autre les sauvegardes journalière
| d'où le mkdir %date:~-10% et dans ce processus de sauvegarde, les
| fichiers déposés après 18h00 ne seront pas tranféré dans le
| répertoire d'aujourd'hui mais dans celui de demain. Ainsi donc, le
| répertoire du 9-11-2006 contiendra des fichiers qui auront été
| déposés entre 18h00 le 8 nov et 17h59 le 9 nov.
|
| Voilà pour un peu plus de précision
Ce "cahier des charges" n'a plus rien à voir avec celui initialement
formulé ! Pour ce dernier, je pense que la solution la plus simple
consiste à "fermer les portes" (au sens sauvegarde) à 18h00 et donc
planifier l'exécution de votre script de sauvegarde à 18H00(+/-). Dans
ce scénario, tous les documents déposés dans le répertoire d'acceuil
seront automatiquement sauvegardés. Les fichiers créés après 18h00
seront donc dans ce cas sauvegardés le lendemain et dans le répertoire
du lendemain. Est-ce vraiment une bonne stratégie de sauvegarde ? Quand
mes collaborateurs restituent des fichiers, ils aiment que ce soit à la
date spécifiée par l'utilisateur final.
"Lanidrak" a écrit dans le message de news: | Votre batch fonctionne très, mais je voulais simplement savoir comment | imbriquer les 2 scripts. Le but final est d'avoir un répertoire un | répertoire de réception et de l'autre les sauvegardes journalière | d'où le mkdir %date:~-10% et dans ce processus de sauvegarde, les | fichiers déposés après 18h00 ne seront pas tranféré dans le | répertoire d'aujourd'hui mais dans celui de demain. Ainsi donc, le | répertoire du 9-11-2006 contiendra des fichiers qui auront été | déposés entre 18h00 le 8 nov et 17h59 le 9 nov. | | Voilà pour un peu plus de précision
Ce "cahier des charges" n'a plus rien à voir avec celui initialement formulé ! Pour ce dernier, je pense que la solution la plus simple consiste à "fermer les portes" (au sens sauvegarde) à 18h00 et donc planifier l'exécution de votre script de sauvegarde à 18H00(+/-). Dans ce scénario, tous les documents déposés dans le répertoire d'acceuil seront automatiquement sauvegardés. Les fichiers créés après 18h00 seront donc dans ce cas sauvegardés le lendemain et dans le répertoire du lendemain. Est-ce vraiment une bonne stratégie de sauvegarde ? Quand mes collaborateurs restituent des fichiers, ils aiment que ce soit à la date spécifiée par l'utilisateur final.
-- Gilles LAURENT http://glsft.free.fr
Lanidrak
Je crois que je vais adopter cette politique, c'est la solution la plus simple.
"Lanidrak" a écrit dans le message de news: | Votre batch fonctionne très, mais je voulais simplement savoir comment | imbriquer les 2 scripts. Le but final est d'avoir un répertoire un | répertoire de réception et de l'autre les sauvegardes journalière | d'où le mkdir %date:~-10% et dans ce processus de sauvegarde, les | fichiers déposés après 18h00 ne seront pas tranféré dans le | répertoire d'aujourd'hui mais dans celui de demain. Ainsi donc, le | répertoire du 9-11-2006 contiendra des fichiers qui auront été | déposés entre 18h00 le 8 nov et 17h59 le 9 nov. | | Voilà pour un peu plus de précision
Ce "cahier des charges" n'a plus rien à voir avec celui initialement formulé ! Pour ce dernier, je pense que la solution la plus simple consiste à "fermer les portes" (au sens sauvegarde) à 18h00 et donc planifier l'exécution de votre script de sauvegarde à 18H00(+/-). Dans ce scénario, tous les documents déposés dans le répertoire d'acceuil seront automatiquement sauvegardés. Les fichiers créés après 18h00 seront donc dans ce cas sauvegardés le lendemain et dans le répertoire du lendemain. Est-ce vraiment une bonne stratégie de sauvegarde ? Quand mes collaborateurs restituent des fichiers, ils aiment que ce soit à la date spécifiée par l'utilisateur final.
-- Gilles LAURENT http://glsft.free.fr
Je crois que je vais adopter cette politique, c'est la solution la plus simple.
"Lanidrak" <Lanidrak@discussions.microsoft.com> a écrit dans le message
de news:8AA63588-0F6F-4AEB-8061-1745F99146E7@microsoft.com
| Votre batch fonctionne très, mais je voulais simplement savoir comment
| imbriquer les 2 scripts. Le but final est d'avoir un répertoire un
| répertoire de réception et de l'autre les sauvegardes journalière
| d'où le mkdir %date:~-10% et dans ce processus de sauvegarde, les
| fichiers déposés après 18h00 ne seront pas tranféré dans le
| répertoire d'aujourd'hui mais dans celui de demain. Ainsi donc, le
| répertoire du 9-11-2006 contiendra des fichiers qui auront été
| déposés entre 18h00 le 8 nov et 17h59 le 9 nov.
|
| Voilà pour un peu plus de précision
Ce "cahier des charges" n'a plus rien à voir avec celui initialement
formulé ! Pour ce dernier, je pense que la solution la plus simple
consiste à "fermer les portes" (au sens sauvegarde) à 18h00 et donc
planifier l'exécution de votre script de sauvegarde à 18H00(+/-). Dans
ce scénario, tous les documents déposés dans le répertoire d'acceuil
seront automatiquement sauvegardés. Les fichiers créés après 18h00
seront donc dans ce cas sauvegardés le lendemain et dans le répertoire
du lendemain. Est-ce vraiment une bonne stratégie de sauvegarde ? Quand
mes collaborateurs restituent des fichiers, ils aiment que ce soit à la
date spécifiée par l'utilisateur final.
Je crois que je vais adopter cette politique, c'est la solution la plus simple.
"Lanidrak" a écrit dans le message de news: | Votre batch fonctionne très, mais je voulais simplement savoir comment | imbriquer les 2 scripts. Le but final est d'avoir un répertoire un | répertoire de réception et de l'autre les sauvegardes journalière | d'où le mkdir %date:~-10% et dans ce processus de sauvegarde, les | fichiers déposés après 18h00 ne seront pas tranféré dans le | répertoire d'aujourd'hui mais dans celui de demain. Ainsi donc, le | répertoire du 9-11-2006 contiendra des fichiers qui auront été | déposés entre 18h00 le 8 nov et 17h59 le 9 nov. | | Voilà pour un peu plus de précision
Ce "cahier des charges" n'a plus rien à voir avec celui initialement formulé ! Pour ce dernier, je pense que la solution la plus simple consiste à "fermer les portes" (au sens sauvegarde) à 18h00 et donc planifier l'exécution de votre script de sauvegarde à 18H00(+/-). Dans ce scénario, tous les documents déposés dans le répertoire d'acceuil seront automatiquement sauvegardés. Les fichiers créés après 18h00 seront donc dans ce cas sauvegardés le lendemain et dans le répertoire du lendemain. Est-ce vraiment une bonne stratégie de sauvegarde ? Quand mes collaborateurs restituent des fichiers, ils aiment que ce soit à la date spécifiée par l'utilisateur final.
-- Gilles LAURENT http://glsft.free.fr
Gilles LAURENT
"Gilles LAURENT" a écrit dans le message de news:%238grVk$