Salut la compagnie.
J'ai =E9crit un batch nomm=E9 BkpGestion pour faire une sauvegarde =
incr=E9mentale de mon R=E9pertoire Gestion sur ma cl=E9 USB. En voici le =
contenu:
xcopy d:\Gestion h:\Sauvegarde /i /d /s
Qui marche au poil.
J'en ai =E9crit un second nomm=E9 RmDir En voici le contenu:
rmdir h:\Sauvegarde /s /q
Qui efface la sauvegarde.
Je voudrais ajouter dans le premier une variable incr=E9ment=E9e et =
ajouter ensuite une condition IF qui lance le RmDir quand la variable =
atteint une valeur donn=E9e, remette la variable =E0 z=E9ro et relance =
le batch de sauvegarde.
Malgr=E9 une grosse d=E9pense de neurones, je n'ai pas trouv=E9 comment =
faire. :-(((
A vos bons cours
Cordialement
--------------------
Le vieux - Exigeant
--------------------
********************************************
Entre le Pass=E9 qui nous =E9chappe *
et l'Avenir que nous ne savons pas *
est le Pr=E9sent avec tous nos Devoirs*
(A. De Gasparin) *
********************************************
Je "subodore" que les %%f et les autres %1, %2 et %3 doivent être remplacés par les batch que j'ai fait
Nan, c'est pô ça.
1. La ligne "for %%f in (1 2 3) do if exist %%f goto %%f" est une boucle qui assigne les valeurs entre parenthèses, une par une, à une variable 'f'. (Les '%%' sont une façon de déclarer puis utiliser une variable dans un batch - donc pas toucher.) L'action de la boucle est donc de tester pour l'existence d'un fichier qui s'appelle '1'... puis '2'... puis '3'. Quand elle en trouve un, elle passe le contrôle à l'étiquette du même nom (les étiquettes sont les ":1" etc).
2. Une fois arrivé à l'étiquette qui correspond donc au nom du fichier existant - qui équivaut au nombre de fois (+ 1) que le batch a été exécute - on compare ce nombre avec la valeur du troisième paramètre passé au batch ('%3'). - s'ils sont égaux, c'est qu'on est arrivé au tour où il faut supprimer la sauvegarde incrémentielle (le "rmdir") puis recommencer: ensuite on réinitialise le 'compteur' en renommant le fichier "1". - sinon a. on augmente le nom (numéro) du fichier par un ("ren 1 2") - afin que la prochaine fois le batch voit augmenté le nombre de tours déjà faits. b. on passe à la sauvegarde incrémentielle.
Les autres paramètres "%1" et "%2" sont les deux premiers passés sur la ligne de commande. Donc dans ton cas tu ferais (par exemple) "sg d:Gestion h:Sauvegarde 3" (ce que tu pourrais mettre dans un '.pif' afin de pouvoir cliquer dessus).
Mais si tu préfères (moi je l'ai fait pour tester car je n'ai pas ces répertoires) tu peux remplacer tous les paramètres par des valeurs fixes: "%1" et "%2" par tes deux répertoires puis "%3" par le nombre de sauvegardes incr. souhaité.
Le dernier truc est d'avoir assez de possibilités pour le nombre de sauvegardes. Pour cela - si c'est jusqu'à 10 - il faut écrire "for %%f in (1 2 3 4 5 6 7 8 9 10) do if exist %%f goto %%f" et ensuite rajouter autant de blocs étiquetés à l'endroit indiqué; en augmentant chaque fois _chaque_ nombre dans le bloc.
Tiens - je l'ai fait pour toi: avec le '.pif' dans ta BAL, ça sera plus simple. Tu n'as qu'à modifier le nombre de tours dans le '.pif'...
Amts CC
-- bitwyse "Être sage, ça peut être con des fois..." http://www.le-maquis.net
Salut
Roger Combe-Ferrier a écrit :
Pauvre, pauvre vieux :-(((
Bof, on va tous y arriver tôt ou tard ;-)
Je "subodore" que les %%f et les autres %1, %2 et %3 doivent être
remplacés par les batch que j'ai fait
Nan, c'est pô ça.
1. La ligne
"for %%f in (1 2 3) do if exist %%f goto %%f"
est une boucle qui assigne les valeurs entre parenthèses, une par une, à
une variable 'f'. (Les '%%' sont une façon de déclarer puis utiliser
une variable dans un batch - donc pas toucher.)
L'action de la boucle est donc de tester pour l'existence d'un fichier
qui s'appelle '1'... puis '2'... puis '3'.
Quand elle en trouve un, elle passe le contrôle à l'étiquette du même
nom (les étiquettes sont les ":1" etc).
2. Une fois arrivé à l'étiquette qui correspond donc au nom du fichier
existant - qui équivaut au nombre de fois (+ 1) que le batch a été
exécute - on compare ce nombre avec la valeur du troisième paramètre
passé au batch ('%3').
- s'ils sont égaux, c'est qu'on est arrivé au tour où il faut supprimer
la sauvegarde incrémentielle (le "rmdir") puis recommencer: ensuite on
réinitialise le 'compteur' en renommant le fichier "1".
- sinon
a. on augmente le nom (numéro) du fichier par un ("ren 1 2") - afin que
la prochaine fois le batch voit augmenté le nombre de tours déjà faits.
b. on passe à la sauvegarde incrémentielle.
Les autres paramètres "%1" et "%2" sont les deux premiers passés sur la
ligne de commande. Donc dans ton cas tu ferais (par exemple)
"sg d:Gestion h:Sauvegarde 3"
(ce que tu pourrais mettre dans un '.pif' afin de pouvoir cliquer dessus).
Mais si tu préfères (moi je l'ai fait pour tester car je n'ai pas ces
répertoires) tu peux remplacer tous les paramètres par des valeurs
fixes: "%1" et "%2" par tes deux répertoires puis "%3" par le nombre de
sauvegardes incr. souhaité.
Le dernier truc est d'avoir assez de possibilités pour le nombre de
sauvegardes. Pour cela - si c'est jusqu'à 10 - il faut écrire
"for %%f in (1 2 3 4 5 6 7 8 9 10) do if exist %%f goto %%f"
et ensuite rajouter autant de blocs étiquetés à l'endroit indiqué; en
augmentant chaque fois _chaque_ nombre dans le bloc.
Tiens - je l'ai fait pour toi: avec le '.pif' dans ta BAL, ça sera plus
simple. Tu n'as qu'à modifier le nombre de tours dans le '.pif'...
Amts
CC
--
bitwyse
"Être sage, ça peut être con des fois..."
http://www.le-maquis.net
Je "subodore" que les %%f et les autres %1, %2 et %3 doivent être remplacés par les batch que j'ai fait
Nan, c'est pô ça.
1. La ligne "for %%f in (1 2 3) do if exist %%f goto %%f" est une boucle qui assigne les valeurs entre parenthèses, une par une, à une variable 'f'. (Les '%%' sont une façon de déclarer puis utiliser une variable dans un batch - donc pas toucher.) L'action de la boucle est donc de tester pour l'existence d'un fichier qui s'appelle '1'... puis '2'... puis '3'. Quand elle en trouve un, elle passe le contrôle à l'étiquette du même nom (les étiquettes sont les ":1" etc).
2. Une fois arrivé à l'étiquette qui correspond donc au nom du fichier existant - qui équivaut au nombre de fois (+ 1) que le batch a été exécute - on compare ce nombre avec la valeur du troisième paramètre passé au batch ('%3'). - s'ils sont égaux, c'est qu'on est arrivé au tour où il faut supprimer la sauvegarde incrémentielle (le "rmdir") puis recommencer: ensuite on réinitialise le 'compteur' en renommant le fichier "1". - sinon a. on augmente le nom (numéro) du fichier par un ("ren 1 2") - afin que la prochaine fois le batch voit augmenté le nombre de tours déjà faits. b. on passe à la sauvegarde incrémentielle.
Les autres paramètres "%1" et "%2" sont les deux premiers passés sur la ligne de commande. Donc dans ton cas tu ferais (par exemple) "sg d:Gestion h:Sauvegarde 3" (ce que tu pourrais mettre dans un '.pif' afin de pouvoir cliquer dessus).
Mais si tu préfères (moi je l'ai fait pour tester car je n'ai pas ces répertoires) tu peux remplacer tous les paramètres par des valeurs fixes: "%1" et "%2" par tes deux répertoires puis "%3" par le nombre de sauvegardes incr. souhaité.
Le dernier truc est d'avoir assez de possibilités pour le nombre de sauvegardes. Pour cela - si c'est jusqu'à 10 - il faut écrire "for %%f in (1 2 3 4 5 6 7 8 9 10) do if exist %%f goto %%f" et ensuite rajouter autant de blocs étiquetés à l'endroit indiqué; en augmentant chaque fois _chaque_ nombre dans le bloc.
Tiens - je l'ai fait pour toi: avec le '.pif' dans ta BAL, ça sera plus simple. Tu n'as qu'à modifier le nombre de tours dans le '.pif'...
Amts CC
-- bitwyse "Être sage, ça peut être con des fois..." http://www.le-maquis.net
Roger Combe-Ferrier
CriCri wrote:
Salut
Roger Combe-Ferrier a écrit :
Pauvre, pauvre vieux :-(((
Bof, on va tous y arriver tôt ou tard ;-)
Je "subodore" que les %%f et les autres %1, %2 et %3 doivent être remplacés par les batch que j'ai fait
Nan, c'est pô ça.
Plus que merci pour ces explications et pour ton envoi dans ma bal. Pour ce soir j'en ai ma claque et c'est l'heure de la bouffe. Demain, j'essaye d'y voir clair. Et dire que tout ça m'était familier quand j' ai commencé avec le Basic, en 1983 ! Maintenat, je ne sais même plus la différence entre un bat et un pif, sauf que ce dernier c'est un synonyme tarin en argot ;-) A demain
1. La ligne "for %%f in (1 2 3) do if exist %%f goto %%f" est une boucle qui assigne les valeurs entre parenthèses, une par une, à une variable 'f'. (Les '%%' sont une façon de déclarer puis utiliser une variable dans un batch - donc pas toucher.) L'action de la boucle est donc de tester pour l'existence d'un fichier qui s'appelle '1'... puis '2'... puis '3'. Quand elle en trouve un, elle passe le contrôle à l'étiquette du même nom (les étiquettes sont les ":1" etc).
2. Une fois arrivé à l'étiquette qui correspond donc au nom du fichier existant - qui équivaut au nombre de fois (+ 1) que le batch a été exécute - on compare ce nombre avec la valeur du troisième paramètre passé au batch ('%3'). - s'ils sont égaux, c'est qu'on est arrivé au tour où il faut supprimer la sauvegarde incrémentielle (le "rmdir") puis recommencer: ensuite on réinitialise le 'compteur' en renommant le fichier "1". - sinon a. on augmente le nom (numéro) du fichier par un ("ren 1 2") - afin que la prochaine fois le batch voit augmenté le nombre de tours déjà faits. b. on passe à la sauvegarde incrémentielle.
Les autres paramètres "%1" et "%2" sont les deux premiers passés sur la ligne de commande. Donc dans ton cas tu ferais (par exemple) "sg d:Gestion h:Sauvegarde 3" (ce que tu pourrais mettre dans un '.pif' afin de pouvoir cliquer dessus).
Mais si tu préfères (moi je l'ai fait pour tester car je n'ai pas ces répertoires) tu peux remplacer tous les paramètres par des valeurs fixes: "%1" et "%2" par tes deux répertoires puis "%3" par le nombre de sauvegardes incr. souhaité.
Le dernier truc est d'avoir assez de possibilités pour le nombre de sauvegardes. Pour cela - si c'est jusqu'à 10 - il faut écrire "for %%f in (1 2 3 4 5 6 7 8 9 10) do if exist %%f goto %%f" et ensuite rajouter autant de blocs étiquetés à l'endroit indiqué; en augmentant chaque fois _chaque_ nombre dans le bloc.
Tiens - je l'ai fait pour toi: avec le '.pif' dans ta BAL, ça sera plus simple. Tu n'as qu'à modifier le nombre de tours dans le '.pif'...
Amts CC
CriCri wrote:
Salut
Roger Combe-Ferrier a écrit :
Pauvre, pauvre vieux :-(((
Bof, on va tous y arriver tôt ou tard ;-)
Je "subodore" que les %%f et les autres %1, %2 et %3 doivent être
remplacés par les batch que j'ai fait
Nan, c'est pô ça.
Plus que merci pour ces explications et pour ton envoi dans ma bal.
Pour ce soir j'en ai ma claque et c'est l'heure de la bouffe.
Demain, j'essaye d'y voir clair. Et dire que tout ça m'était familier quand j' ai commencé avec le Basic, en 1983 !
Maintenat, je ne sais même plus la différence entre un bat et un pif, sauf que ce dernier c'est un synonyme tarin en argot ;-)
A demain
1. La ligne
"for %%f in (1 2 3) do if exist %%f goto %%f"
est une boucle qui assigne les valeurs entre parenthèses, une par
une, à une variable 'f'. (Les '%%' sont une façon de déclarer puis
utiliser
une variable dans un batch - donc pas toucher.)
L'action de la boucle est donc de tester pour l'existence d'un fichier
qui s'appelle '1'... puis '2'... puis '3'.
Quand elle en trouve un, elle passe le contrôle à l'étiquette du même
nom (les étiquettes sont les ":1" etc).
2. Une fois arrivé à l'étiquette qui correspond donc au nom du fichier
existant - qui équivaut au nombre de fois (+ 1) que le batch a été
exécute - on compare ce nombre avec la valeur du troisième paramètre
passé au batch ('%3').
- s'ils sont égaux, c'est qu'on est arrivé au tour où il faut
supprimer la sauvegarde incrémentielle (le "rmdir") puis recommencer:
ensuite on réinitialise le 'compteur' en renommant le fichier "1".
- sinon
a. on augmente le nom (numéro) du fichier par un ("ren 1 2") - afin
que la prochaine fois le batch voit augmenté le nombre de tours déjà
faits. b. on passe à la sauvegarde incrémentielle.
Les autres paramètres "%1" et "%2" sont les deux premiers passés sur
la ligne de commande. Donc dans ton cas tu ferais (par exemple)
"sg d:Gestion h:Sauvegarde 3"
(ce que tu pourrais mettre dans un '.pif' afin de pouvoir cliquer
dessus).
Mais si tu préfères (moi je l'ai fait pour tester car je n'ai pas ces
répertoires) tu peux remplacer tous les paramètres par des valeurs
fixes: "%1" et "%2" par tes deux répertoires puis "%3" par le nombre
de sauvegardes incr. souhaité.
Le dernier truc est d'avoir assez de possibilités pour le nombre de
sauvegardes. Pour cela - si c'est jusqu'à 10 - il faut écrire
"for %%f in (1 2 3 4 5 6 7 8 9 10) do if exist %%f goto %%f"
et ensuite rajouter autant de blocs étiquetés à l'endroit indiqué; en
augmentant chaque fois _chaque_ nombre dans le bloc.
Tiens - je l'ai fait pour toi: avec le '.pif' dans ta BAL, ça sera
plus simple. Tu n'as qu'à modifier le nombre de tours dans le
'.pif'...
Je "subodore" que les %%f et les autres %1, %2 et %3 doivent être remplacés par les batch que j'ai fait
Nan, c'est pô ça.
Plus que merci pour ces explications et pour ton envoi dans ma bal. Pour ce soir j'en ai ma claque et c'est l'heure de la bouffe. Demain, j'essaye d'y voir clair. Et dire que tout ça m'était familier quand j' ai commencé avec le Basic, en 1983 ! Maintenat, je ne sais même plus la différence entre un bat et un pif, sauf que ce dernier c'est un synonyme tarin en argot ;-) A demain
1. La ligne "for %%f in (1 2 3) do if exist %%f goto %%f" est une boucle qui assigne les valeurs entre parenthèses, une par une, à une variable 'f'. (Les '%%' sont une façon de déclarer puis utiliser une variable dans un batch - donc pas toucher.) L'action de la boucle est donc de tester pour l'existence d'un fichier qui s'appelle '1'... puis '2'... puis '3'. Quand elle en trouve un, elle passe le contrôle à l'étiquette du même nom (les étiquettes sont les ":1" etc).
2. Une fois arrivé à l'étiquette qui correspond donc au nom du fichier existant - qui équivaut au nombre de fois (+ 1) que le batch a été exécute - on compare ce nombre avec la valeur du troisième paramètre passé au batch ('%3'). - s'ils sont égaux, c'est qu'on est arrivé au tour où il faut supprimer la sauvegarde incrémentielle (le "rmdir") puis recommencer: ensuite on réinitialise le 'compteur' en renommant le fichier "1". - sinon a. on augmente le nom (numéro) du fichier par un ("ren 1 2") - afin que la prochaine fois le batch voit augmenté le nombre de tours déjà faits. b. on passe à la sauvegarde incrémentielle.
Les autres paramètres "%1" et "%2" sont les deux premiers passés sur la ligne de commande. Donc dans ton cas tu ferais (par exemple) "sg d:Gestion h:Sauvegarde 3" (ce que tu pourrais mettre dans un '.pif' afin de pouvoir cliquer dessus).
Mais si tu préfères (moi je l'ai fait pour tester car je n'ai pas ces répertoires) tu peux remplacer tous les paramètres par des valeurs fixes: "%1" et "%2" par tes deux répertoires puis "%3" par le nombre de sauvegardes incr. souhaité.
Le dernier truc est d'avoir assez de possibilités pour le nombre de sauvegardes. Pour cela - si c'est jusqu'à 10 - il faut écrire "for %%f in (1 2 3 4 5 6 7 8 9 10) do if exist %%f goto %%f" et ensuite rajouter autant de blocs étiquetés à l'endroit indiqué; en augmentant chaque fois _chaque_ nombre dans le bloc.
Tiens - je l'ai fait pour toi: avec le '.pif' dans ta BAL, ça sera plus simple. Tu n'as qu'à modifier le nombre de tours dans le '.pif'...
Amts CC
CriCri
Salut Roger
Roger Combe-Ferrier a écrit :
Plus que merci pour ces explications et pour ton envoi dans ma bal.
Padekoi. Surtout teste-le bien avant d'avoir besoin d'une restauration pour de vrai. Je l'ai essayé jusqu'à 3 fois mais on n'a pas les mêmes configs - on ne sait jamais...
Et dire que tout ça m'était familier quand j' ai commencé avec le Basic, en 1983 !
Faute de s'en servir régulièrement on oublie vite plein de choses...
Amts CC
-- bitwyse "Être sage, ça peut être con des fois..." http://www.le-maquis.net
Salut Roger
Roger Combe-Ferrier a écrit :
Plus que merci pour ces explications et pour ton envoi dans ma bal.
Padekoi.
Surtout teste-le bien avant d'avoir besoin d'une restauration pour de
vrai. Je l'ai essayé jusqu'à 3 fois mais on n'a pas les mêmes configs -
on ne sait jamais...
Et dire que tout ça m'était familier quand j' ai commencé avec le
Basic, en 1983 !
Faute de s'en servir régulièrement on oublie vite plein de choses...
Amts
CC
--
bitwyse
"Être sage, ça peut être con des fois..."
http://www.le-maquis.net
Plus que merci pour ces explications et pour ton envoi dans ma bal.
Padekoi. Surtout teste-le bien avant d'avoir besoin d'une restauration pour de vrai. Je l'ai essayé jusqu'à 3 fois mais on n'a pas les mêmes configs - on ne sait jamais...
Et dire que tout ça m'était familier quand j' ai commencé avec le Basic, en 1983 !
Faute de s'en servir régulièrement on oublie vite plein de choses...
Amts CC
-- bitwyse "Être sage, ça peut être con des fois..." http://www.le-maquis.net
Roger Combe-Ferrier
CriCri wrote:
Salut Roger
Roger Combe-Ferrier a écrit :
Plus que merci pour ces explications et pour ton envoi dans ma bal.
Padekoi. Surtout teste-le bien avant d'avoir besoin d'une restauration pour de vrai. Je l'ai essayé jusqu'à 3 fois mais on n'a pas les mêmes configs - on ne sait jamais...
Et dire que tout ça m'était familier quand j' ai commencé avec le Basic, en 1983 !
Faute de s'en servir régulièrement on oublie vite plein de choses...
Hélas ! Et s'il n'y avait que de ça dont je ne me sers plus ;-(((((
Amts CC
CriCri wrote:
Salut Roger
Roger Combe-Ferrier a écrit :
Plus que merci pour ces explications et pour ton envoi dans ma bal.
Padekoi.
Surtout teste-le bien avant d'avoir besoin d'une restauration pour de
vrai. Je l'ai essayé jusqu'à 3 fois mais on n'a pas les mêmes
configs - on ne sait jamais...
Et dire que tout ça m'était familier quand j' ai commencé avec le
Basic, en 1983 !
Faute de s'en servir régulièrement on oublie vite plein de choses...
Hélas ! Et s'il n'y avait que de ça dont je ne me sers plus ;-(((((
Plus que merci pour ces explications et pour ton envoi dans ma bal.
Padekoi. Surtout teste-le bien avant d'avoir besoin d'une restauration pour de vrai. Je l'ai essayé jusqu'à 3 fois mais on n'a pas les mêmes configs - on ne sait jamais...
Et dire que tout ça m'était familier quand j' ai commencé avec le Basic, en 1983 !
Faute de s'en servir régulièrement on oublie vite plein de choses...
Hélas ! Et s'il n'y avait que de ça dont je ne me sers plus ;-(((((
Amts CC
Jeuf
Le 28/06/2007, Roger Combe-Ferrier a écrit dans <f5vthv$40t$ :
Hélas ! Et s'il n'y avait que de ça dont je ne me sers plus ;-(((((
Arf. Ta femme de ménage est très consommable, pourtant. Explique-lui qu'il faut absolument que tu testes avant tes 100 ans ;-)) Tiens ! Ceci me fait penser que cette année, Sarko a décidé de faire tirer des feux d'artifices dans toute la France, dans 15 jours, pour fêter ton anniversaire. (On n'a pas idée de naître un 14 juillet...)
-- Un nouveau site tout beau tout neuf, sur lequel on est encouragé à intervenir : http://www.aieaie.com
Le 28/06/2007, Roger Combe-Ferrier a écrit dans
<f5vthv$40t$1@talisker.lacave.net> :
Hélas ! Et s'il n'y avait que de ça dont je ne me sers plus ;-(((((
Arf. Ta femme de ménage est très consommable, pourtant.
Explique-lui qu'il faut absolument que tu testes avant tes 100 ans
;-))
Tiens ! Ceci me fait penser que cette année, Sarko a décidé de faire
tirer des feux d'artifices dans toute la France, dans 15 jours, pour
fêter ton anniversaire.
(On n'a pas idée de naître un 14 juillet...)
--
Un nouveau site tout beau tout neuf, sur lequel on est encouragé à
intervenir : http://www.aieaie.com
Le 28/06/2007, Roger Combe-Ferrier a écrit dans <f5vthv$40t$ :
Hélas ! Et s'il n'y avait que de ça dont je ne me sers plus ;-(((((
Arf. Ta femme de ménage est très consommable, pourtant. Explique-lui qu'il faut absolument que tu testes avant tes 100 ans ;-)) Tiens ! Ceci me fait penser que cette année, Sarko a décidé de faire tirer des feux d'artifices dans toute la France, dans 15 jours, pour fêter ton anniversaire. (On n'a pas idée de naître un 14 juillet...)
-- Un nouveau site tout beau tout neuf, sur lequel on est encouragé à intervenir : http://www.aieaie.com