bonjour
voici ce que j'ai fait avec tous les différents conseils mais je crois que
ce prog est un peu lourd
pour comparer les dates de deux rep jeu1 et jeu2 situé sous document mais
obligatoirement seul et contenant eux m^mes des sous rep
rem @echo off
del TEMP.TXT
rem /a:d donne date que des répertoires
rem find"/" n'envois que les lignes avec un / dans temp.txt
dir c:documentjeu1 /A:D /Tw | find "/" > c:TEMP.TXT
FOR /F %%i in (temp.txt) do goto 1date
:1date
set datejeu1=%%i
dir c:documentjeu2 /A:D /Tw | find "/" > c:TEMP.TXT
FOR /F %%j in (temp.txt) do goto 2date
:2date
set datejeu2=%%j
if datejeu2 GTR datejeu1 goto jeu2
echo "jeu1"
goto :eof
:jeu2
echo "jeu2"
goto :eof
bonjour
voici ce que j'ai fait avec tous les différents conseils mais je crois que
ce prog est un peu lourd
pour comparer les dates de deux rep jeu1 et jeu2 situé sous document mais
obligatoirement seul et contenant eux m^mes des sous rep
rem @echo off
del TEMP.TXT
rem /a:d donne date que des répertoires
rem find"/" n'envois que les lignes avec un / dans temp.txt
dir c:documentjeu1 /A:D /Tw | find "/" > c:TEMP.TXT
FOR /F %%i in (temp.txt) do goto 1date
:1date
set datejeu1=%%i
dir c:documentjeu2 /A:D /Tw | find "/" > c:TEMP.TXT
FOR /F %%j in (temp.txt) do goto 2date
:2date
set datejeu2=%%j
if datejeu2 GTR datejeu1 goto jeu2
echo "jeu1"
goto :eof
:jeu2
echo "jeu2"
goto :eof
bonjour
voici ce que j'ai fait avec tous les différents conseils mais je crois que
ce prog est un peu lourd
pour comparer les dates de deux rep jeu1 et jeu2 situé sous document mais
obligatoirement seul et contenant eux m^mes des sous rep
rem @echo off
del TEMP.TXT
rem /a:d donne date que des répertoires
rem find"/" n'envois que les lignes avec un / dans temp.txt
dir c:documentjeu1 /A:D /Tw | find "/" > c:TEMP.TXT
FOR /F %%i in (temp.txt) do goto 1date
:1date
set datejeu1=%%i
dir c:documentjeu2 /A:D /Tw | find "/" > c:TEMP.TXT
FOR /F %%j in (temp.txt) do goto 2date
:2date
set datejeu2=%%j
if datejeu2 GTR datejeu1 goto jeu2
echo "jeu1"
goto :eof
:jeu2
echo "jeu2"
goto :eof
bonjour
je vous remercie (tous ceux qui apportent leur aide) pour l'intérêt et la
patience que vous témoignés
c'est vrai que mon prog ne fonctionnait pas bien comparaison des dates et
la
version envoyée était un peu éronnée
j'ai remodifiée le cript pour arriver à ceci (avant de lire ton mail
jacques
et de tenir compte de tes conseils que je ferais dans une autre version)
C'est bien la comparaison des dates des répertoires jeu1 et jeu2 et rien
que
eux que je veux comparer répertoires qui contiennent des sauvegardes
alternatives
voici mon dernier script et qui fonctionne
cls
@echo off
del c:TEMPdate.TXT
rem /a:d donne date que des répertoires /TW date écriture
rem find"/" n'envois que les lignes avec un / dans tempdate.txt
dir c:SAVjeu1 /A:D /Tw | find "/" > c:TEMPdate.TXT
rem pour chaque ligne de tempdate.txt attribue à datejeu1 la valeur
rem de première occurence i de la ligne
rem et poursuit le prog à la ligne 1date
rem utiliser & plutôt que | (ne fonctionne pas dans FOR
FOR /F %%i in (c:tempDATE.txt) do set datejeu1=%%i & goto 1date
:1date
FOR /f "tokens=1, 2, 3 delims=/" %%k in ("%datejeu1%") do set
jourdatejeu1=%%k & set moisdatejeu1=%%l & set andatejeu1=%%m
dir c:SAVjeu2 /A:D /Tw | find "/" > c:TEMPDATE.TXT
FOR /F %%j in (c:tempDATE.txt) do set datejeu2=%%j & goto 2date
:2date
FOR /f "tokens=1, 2, 3 delims=/" %%n in ("%datejeu2%") do set
jourdatejeu2=%%n & set moisdatejeu2=%%o & set andatejeu2=%%p
echo %jourdatejeu2%%moisdatejeu2%%andatejeu2%jeu2 supérieur à jeu1?
%jourdatejeu1%%moisdatejeu1%%andatejeu1%
rem datejeu2 est supérieure (GTR) datejeu1 aller jeu2
if %andatejeu2% GTR %andatejeu1% goto jeu2
if %andatejeu2% NEQ %andatejeu1% GOTO JEU1
if %moisdatejeu2% GTR %moisdatejeu1% goto jeu2
if %moisdatejeu2% NEQ %moisdatejeu1% goto jeu1
if %jourdatejeu2% GTR %jourdatejeu1% goto jeu2
if %jourdatejeu2% NEQ %jourdatejeu1% goto EGO
:jeu1
echo "jeu1"
goto :eof
:jeu2
echo "jeu2"
goto :eof
:EGO
echo " les deux jeux sont identiques"
encore merci
bonjour
je vous remercie (tous ceux qui apportent leur aide) pour l'intérêt et la
patience que vous témoignés
c'est vrai que mon prog ne fonctionnait pas bien comparaison des dates et
la
version envoyée était un peu éronnée
j'ai remodifiée le cript pour arriver à ceci (avant de lire ton mail
jacques
et de tenir compte de tes conseils que je ferais dans une autre version)
C'est bien la comparaison des dates des répertoires jeu1 et jeu2 et rien
que
eux que je veux comparer répertoires qui contiennent des sauvegardes
alternatives
voici mon dernier script et qui fonctionne
cls
@echo off
del c:TEMPdate.TXT
rem /a:d donne date que des répertoires /TW date écriture
rem find"/" n'envois que les lignes avec un / dans tempdate.txt
dir c:SAVjeu1 /A:D /Tw | find "/" > c:TEMPdate.TXT
rem pour chaque ligne de tempdate.txt attribue à datejeu1 la valeur
rem de première occurence i de la ligne
rem et poursuit le prog à la ligne 1date
rem utiliser & plutôt que | (ne fonctionne pas dans FOR
FOR /F %%i in (c:tempDATE.txt) do set datejeu1=%%i & goto 1date
:1date
FOR /f "tokens=1, 2, 3 delims=/" %%k in ("%datejeu1%") do set
jourdatejeu1=%%k & set moisdatejeu1=%%l & set andatejeu1=%%m
dir c:SAVjeu2 /A:D /Tw | find "/" > c:TEMPDATE.TXT
FOR /F %%j in (c:tempDATE.txt) do set datejeu2=%%j & goto 2date
:2date
FOR /f "tokens=1, 2, 3 delims=/" %%n in ("%datejeu2%") do set
jourdatejeu2=%%n & set moisdatejeu2=%%o & set andatejeu2=%%p
echo %jourdatejeu2%%moisdatejeu2%%andatejeu2%jeu2 supérieur à jeu1?
%jourdatejeu1%%moisdatejeu1%%andatejeu1%
rem datejeu2 est supérieure (GTR) datejeu1 aller jeu2
if %andatejeu2% GTR %andatejeu1% goto jeu2
if %andatejeu2% NEQ %andatejeu1% GOTO JEU1
if %moisdatejeu2% GTR %moisdatejeu1% goto jeu2
if %moisdatejeu2% NEQ %moisdatejeu1% goto jeu1
if %jourdatejeu2% GTR %jourdatejeu1% goto jeu2
if %jourdatejeu2% NEQ %jourdatejeu1% goto EGO
:jeu1
echo "jeu1"
goto :eof
:jeu2
echo "jeu2"
goto :eof
:EGO
echo " les deux jeux sont identiques"
encore merci
bonjour
je vous remercie (tous ceux qui apportent leur aide) pour l'intérêt et la
patience que vous témoignés
c'est vrai que mon prog ne fonctionnait pas bien comparaison des dates et
la
version envoyée était un peu éronnée
j'ai remodifiée le cript pour arriver à ceci (avant de lire ton mail
jacques
et de tenir compte de tes conseils que je ferais dans une autre version)
C'est bien la comparaison des dates des répertoires jeu1 et jeu2 et rien
que
eux que je veux comparer répertoires qui contiennent des sauvegardes
alternatives
voici mon dernier script et qui fonctionne
cls
@echo off
del c:TEMPdate.TXT
rem /a:d donne date que des répertoires /TW date écriture
rem find"/" n'envois que les lignes avec un / dans tempdate.txt
dir c:SAVjeu1 /A:D /Tw | find "/" > c:TEMPdate.TXT
rem pour chaque ligne de tempdate.txt attribue à datejeu1 la valeur
rem de première occurence i de la ligne
rem et poursuit le prog à la ligne 1date
rem utiliser & plutôt que | (ne fonctionne pas dans FOR
FOR /F %%i in (c:tempDATE.txt) do set datejeu1=%%i & goto 1date
:1date
FOR /f "tokens=1, 2, 3 delims=/" %%k in ("%datejeu1%") do set
jourdatejeu1=%%k & set moisdatejeu1=%%l & set andatejeu1=%%m
dir c:SAVjeu2 /A:D /Tw | find "/" > c:TEMPDATE.TXT
FOR /F %%j in (c:tempDATE.txt) do set datejeu2=%%j & goto 2date
:2date
FOR /f "tokens=1, 2, 3 delims=/" %%n in ("%datejeu2%") do set
jourdatejeu2=%%n & set moisdatejeu2=%%o & set andatejeu2=%%p
echo %jourdatejeu2%%moisdatejeu2%%andatejeu2%jeu2 supérieur à jeu1?
%jourdatejeu1%%moisdatejeu1%%andatejeu1%
rem datejeu2 est supérieure (GTR) datejeu1 aller jeu2
if %andatejeu2% GTR %andatejeu1% goto jeu2
if %andatejeu2% NEQ %andatejeu1% GOTO JEU1
if %moisdatejeu2% GTR %moisdatejeu1% goto jeu2
if %moisdatejeu2% NEQ %moisdatejeu1% goto jeu1
if %jourdatejeu2% GTR %jourdatejeu1% goto jeu2
if %jourdatejeu2% NEQ %jourdatejeu1% goto EGO
:jeu1
echo "jeu1"
goto :eof
:jeu2
echo "jeu2"
goto :eof
:EGO
echo " les deux jeux sont identiques"
encore merci
Ton script tient des raisonnements curieux, même si en effet ça semble
marcher. Le truc le plus bizarre, c'est que quand tu fais ton "FOR /F %%i
in
(c:tempdate.txt)" contrairement à ce que tu dis en commentaire tu ne
parcours pas toutes les lignes du fichier mais uniquement la première qui
correspond au répertoire symbolique "." . Cette ligne contient bien la
date
de modification du répertoire.
La raison pour laquelle tu ne traites que la première ligne c'est que tu
fais un call dans ce FOR pour lequel il n'y a jamais aucun retour. Même si
ça marche, tu ne maîtrises pas complètement le processus, et si tu devais
faire évoluer ce script tu pourrais être confronté à des problèmes
insolubles qui viendraient de cette construction bancale.
De plus, tes tests en fin de script sont erronnés. J'ai testé sur deux
répertoires qui ont la même date et il me donne jeu1 comme étant
supérieur.
Pour que ça marche il faudrait remplacer cette ligne:
if %jourdatejeu2% NEQ %jourdatejeu1% goto EGO
par:
if %jourdatejeu2% NEQ %jourdatejeu1% goto JEU1
goto EGO
Sinon pour le reste, c'est surtout une question de style. Je trouve un peu
lourd le découpage du test en année, mois et jour alors que tu peux tout
concaténer et tester en une seule fois, mais c'est vraiment une question
de
goût, à moins que tu sois payé à la ligne :-)
Jacques
"marc.dufresne" wrote in message
news:bonjour
je vous remercie (tous ceux qui apportent leur aide) pour l'intérêt et
la
patience que vous témoignés
c'est vrai que mon prog ne fonctionnait pas bien comparaison des dates
et
la
version envoyée était un peu éronnée
j'ai remodifiée le cript pour arriver à ceci (avant de lire ton mail
jacques
et de tenir compte de tes conseils que je ferais dans une autre version)
C'est bien la comparaison des dates des répertoires jeu1 et jeu2 et rien
que
eux que je veux comparer répertoires qui contiennent des sauvegardes
alternatives
voici mon dernier script et qui fonctionne
cls
@echo off
del c:TEMPdate.TXT
rem /a:d donne date que des répertoires /TW date écriture
rem find"/" n'envois que les lignes avec un / dans tempdate.txt
dir c:SAVjeu1 /A:D /Tw | find "/" > c:TEMPdate.TXT
rem pour chaque ligne de tempdate.txt attribue à datejeu1 la valeur
rem de première occurence i de la ligne
rem et poursuit le prog à la ligne 1date
rem utiliser & plutôt que | (ne fonctionne pas dans FOR
FOR /F %%i in (c:tempDATE.txt) do set datejeu1=%%i & goto 1date
:1date
FOR /f "tokens=1, 2, 3 delims=/" %%k in ("%datejeu1%") do set
jourdatejeu1=%%k & set moisdatejeu1=%%l & set andatejeu1=%%m
dir c:SAVjeu2 /A:D /Tw | find "/" > c:TEMPDATE.TXT
FOR /F %%j in (c:tempDATE.txt) do set datejeu2=%%j & goto 2date
:2date
FOR /f "tokens=1, 2, 3 delims=/" %%n in ("%datejeu2%") do set
jourdatejeu2=%%n & set moisdatejeu2=%%o & set andatejeu2=%%p
echo %jourdatejeu2%%moisdatejeu2%%andatejeu2%jeu2 supérieur à jeu1?
%jourdatejeu1%%moisdatejeu1%%andatejeu1%
rem datejeu2 est supérieure (GTR) datejeu1 aller jeu2
if %andatejeu2% GTR %andatejeu1% goto jeu2
if %andatejeu2% NEQ %andatejeu1% GOTO JEU1
if %moisdatejeu2% GTR %moisdatejeu1% goto jeu2
if %moisdatejeu2% NEQ %moisdatejeu1% goto jeu1
if %jourdatejeu2% GTR %jourdatejeu1% goto jeu2
if %jourdatejeu2% NEQ %jourdatejeu1% goto EGO
:jeu1
echo "jeu1"
goto :eof
:jeu2
echo "jeu2"
goto :eof
:EGO
echo " les deux jeux sont identiques"
encore merci
Ton script tient des raisonnements curieux, même si en effet ça semble
marcher. Le truc le plus bizarre, c'est que quand tu fais ton "FOR /F %%i
in
(c:tempdate.txt)" contrairement à ce que tu dis en commentaire tu ne
parcours pas toutes les lignes du fichier mais uniquement la première qui
correspond au répertoire symbolique "." . Cette ligne contient bien la
date
de modification du répertoire.
La raison pour laquelle tu ne traites que la première ligne c'est que tu
fais un call dans ce FOR pour lequel il n'y a jamais aucun retour. Même si
ça marche, tu ne maîtrises pas complètement le processus, et si tu devais
faire évoluer ce script tu pourrais être confronté à des problèmes
insolubles qui viendraient de cette construction bancale.
De plus, tes tests en fin de script sont erronnés. J'ai testé sur deux
répertoires qui ont la même date et il me donne jeu1 comme étant
supérieur.
Pour que ça marche il faudrait remplacer cette ligne:
if %jourdatejeu2% NEQ %jourdatejeu1% goto EGO
par:
if %jourdatejeu2% NEQ %jourdatejeu1% goto JEU1
goto EGO
Sinon pour le reste, c'est surtout une question de style. Je trouve un peu
lourd le découpage du test en année, mois et jour alors que tu peux tout
concaténer et tester en une seule fois, mais c'est vraiment une question
de
goût, à moins que tu sois payé à la ligne :-)
Jacques
"marc.dufresne" <pasde.mail.direct.marcdufresne@free.fr> wrote in message
news:OSZ00il1FHA.3188@TK2MSFTNGP14.phx.gbl...
bonjour
je vous remercie (tous ceux qui apportent leur aide) pour l'intérêt et
la
patience que vous témoignés
c'est vrai que mon prog ne fonctionnait pas bien comparaison des dates
et
la
version envoyée était un peu éronnée
j'ai remodifiée le cript pour arriver à ceci (avant de lire ton mail
jacques
et de tenir compte de tes conseils que je ferais dans une autre version)
C'est bien la comparaison des dates des répertoires jeu1 et jeu2 et rien
que
eux que je veux comparer répertoires qui contiennent des sauvegardes
alternatives
voici mon dernier script et qui fonctionne
cls
@echo off
del c:TEMPdate.TXT
rem /a:d donne date que des répertoires /TW date écriture
rem find"/" n'envois que les lignes avec un / dans tempdate.txt
dir c:SAVjeu1 /A:D /Tw | find "/" > c:TEMPdate.TXT
rem pour chaque ligne de tempdate.txt attribue à datejeu1 la valeur
rem de première occurence i de la ligne
rem et poursuit le prog à la ligne 1date
rem utiliser & plutôt que | (ne fonctionne pas dans FOR
FOR /F %%i in (c:tempDATE.txt) do set datejeu1=%%i & goto 1date
:1date
FOR /f "tokens=1, 2, 3 delims=/" %%k in ("%datejeu1%") do set
jourdatejeu1=%%k & set moisdatejeu1=%%l & set andatejeu1=%%m
dir c:SAVjeu2 /A:D /Tw | find "/" > c:TEMPDATE.TXT
FOR /F %%j in (c:tempDATE.txt) do set datejeu2=%%j & goto 2date
:2date
FOR /f "tokens=1, 2, 3 delims=/" %%n in ("%datejeu2%") do set
jourdatejeu2=%%n & set moisdatejeu2=%%o & set andatejeu2=%%p
echo %jourdatejeu2%%moisdatejeu2%%andatejeu2%jeu2 supérieur à jeu1?
%jourdatejeu1%%moisdatejeu1%%andatejeu1%
rem datejeu2 est supérieure (GTR) datejeu1 aller jeu2
if %andatejeu2% GTR %andatejeu1% goto jeu2
if %andatejeu2% NEQ %andatejeu1% GOTO JEU1
if %moisdatejeu2% GTR %moisdatejeu1% goto jeu2
if %moisdatejeu2% NEQ %moisdatejeu1% goto jeu1
if %jourdatejeu2% GTR %jourdatejeu1% goto jeu2
if %jourdatejeu2% NEQ %jourdatejeu1% goto EGO
:jeu1
echo "jeu1"
goto :eof
:jeu2
echo "jeu2"
goto :eof
:EGO
echo " les deux jeux sont identiques"
encore merci
Ton script tient des raisonnements curieux, même si en effet ça semble
marcher. Le truc le plus bizarre, c'est que quand tu fais ton "FOR /F %%i
in
(c:tempdate.txt)" contrairement à ce que tu dis en commentaire tu ne
parcours pas toutes les lignes du fichier mais uniquement la première qui
correspond au répertoire symbolique "." . Cette ligne contient bien la
date
de modification du répertoire.
La raison pour laquelle tu ne traites que la première ligne c'est que tu
fais un call dans ce FOR pour lequel il n'y a jamais aucun retour. Même si
ça marche, tu ne maîtrises pas complètement le processus, et si tu devais
faire évoluer ce script tu pourrais être confronté à des problèmes
insolubles qui viendraient de cette construction bancale.
De plus, tes tests en fin de script sont erronnés. J'ai testé sur deux
répertoires qui ont la même date et il me donne jeu1 comme étant
supérieur.
Pour que ça marche il faudrait remplacer cette ligne:
if %jourdatejeu2% NEQ %jourdatejeu1% goto EGO
par:
if %jourdatejeu2% NEQ %jourdatejeu1% goto JEU1
goto EGO
Sinon pour le reste, c'est surtout une question de style. Je trouve un peu
lourd le découpage du test en année, mois et jour alors que tu peux tout
concaténer et tester en une seule fois, mais c'est vraiment une question
de
goût, à moins que tu sois payé à la ligne :-)
Jacques
"marc.dufresne" wrote in message
news:bonjour
je vous remercie (tous ceux qui apportent leur aide) pour l'intérêt et
la
patience que vous témoignés
c'est vrai que mon prog ne fonctionnait pas bien comparaison des dates
et
la
version envoyée était un peu éronnée
j'ai remodifiée le cript pour arriver à ceci (avant de lire ton mail
jacques
et de tenir compte de tes conseils que je ferais dans une autre version)
C'est bien la comparaison des dates des répertoires jeu1 et jeu2 et rien
que
eux que je veux comparer répertoires qui contiennent des sauvegardes
alternatives
voici mon dernier script et qui fonctionne
cls
@echo off
del c:TEMPdate.TXT
rem /a:d donne date que des répertoires /TW date écriture
rem find"/" n'envois que les lignes avec un / dans tempdate.txt
dir c:SAVjeu1 /A:D /Tw | find "/" > c:TEMPdate.TXT
rem pour chaque ligne de tempdate.txt attribue à datejeu1 la valeur
rem de première occurence i de la ligne
rem et poursuit le prog à la ligne 1date
rem utiliser & plutôt que | (ne fonctionne pas dans FOR
FOR /F %%i in (c:tempDATE.txt) do set datejeu1=%%i & goto 1date
:1date
FOR /f "tokens=1, 2, 3 delims=/" %%k in ("%datejeu1%") do set
jourdatejeu1=%%k & set moisdatejeu1=%%l & set andatejeu1=%%m
dir c:SAVjeu2 /A:D /Tw | find "/" > c:TEMPDATE.TXT
FOR /F %%j in (c:tempDATE.txt) do set datejeu2=%%j & goto 2date
:2date
FOR /f "tokens=1, 2, 3 delims=/" %%n in ("%datejeu2%") do set
jourdatejeu2=%%n & set moisdatejeu2=%%o & set andatejeu2=%%p
echo %jourdatejeu2%%moisdatejeu2%%andatejeu2%jeu2 supérieur à jeu1?
%jourdatejeu1%%moisdatejeu1%%andatejeu1%
rem datejeu2 est supérieure (GTR) datejeu1 aller jeu2
if %andatejeu2% GTR %andatejeu1% goto jeu2
if %andatejeu2% NEQ %andatejeu1% GOTO JEU1
if %moisdatejeu2% GTR %moisdatejeu1% goto jeu2
if %moisdatejeu2% NEQ %moisdatejeu1% goto jeu1
if %jourdatejeu2% GTR %jourdatejeu1% goto jeu2
if %jourdatejeu2% NEQ %jourdatejeu1% goto EGO
:jeu1
echo "jeu1"
goto :eof
:jeu2
echo "jeu2"
goto :eof
:EGO
echo " les deux jeux sont identiques"
encore merci