Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Initiation au .bat

35 réponses
Avatar
Alain Lebayle
Bonjour,
Je dois pour les besoins du travail écrire un petit script .bat
à mettre dans le groupe de démarrage windows xp
afin de copier tous les lundi matins un fichier en. txt dans un dossier
qui se trouve dans C:
Connaissez-vous des sites qui expliquent comment s'y prendre ?
Je vous remercie
Alain

10 réponses

1 2 3 4
Avatar
Amandine Parmesan
On Sun, 14 Mar 2010 10:11:43 +0100, Amandine Parmesan
wrote:

On Sat, 13 Mar 2010 12:13:29 +0100, "Tonio le Yéti"
wrote:

@if exist "ton cheminpref.js" xcopy "ton cheminpref.js" "c:mes
documentsSauvegarde pref_Js" /h/r/y



Desolé mais je suis pas d'accord car l'option /Y ecrase le fichier
destination sans confirmation donc sans possibilité de restauration si
le fichier malade est sauvé.

J'adapterai plutot une sauvegarde par date sans le "if exist"

xcopy "ton cheminpref.js" "c:mesdocumentsSauvegarde
pref_Js_"%date:~6,4%-%date:~3,2%-%date:~0,2% /h/r



Pour la restauration par contre on peut conditionner si le fichier
"ton cheminpref.js" n'est pas bon. Dans ce cas il serra rempaclé par
la derniere sauvegarde.
--
France-Irlande
J'ai pas honte d'être francaise, mais j'aimerai être fiere en laissant notre place à l'Irlande.
C'est une question d'honneur
Mais je ne me fais aucune illusion. J'espère que l'equipe qui a volé le match soit humilié et rentre la tête baissé.
http://www.youtube.com/watch?v=ekxsmPnHWSA
Avatar
Alain Lebayle
Bonjour Amandine
Un grand merci et quelques questions ;-)

xcopy "C:ALPHApref.js"
"c:BETApref.Js"%date:~6,4%-%date:~3,2%-%date:~0,2% /h/r

1- Je fais le test avec cette syntaxe, mais il me pose une question s'il
s'agit d'un répertoire ou d'un fichier.
2- Je ne comprends pas (c'est normal) pourquoi le x pour xcopy
et que signifie /h/r
de même serait-ce possible avec la date en format français ?
Encore merci
Alain

Amandine Parmesan a écrit :
On Sun, 14 Mar 2010 10:11:43 +0100, Amandine Parmesan
wrote:

On Sat, 13 Mar 2010 12:13:29 +0100, "Tonio le Yéti"
wrote:

@if exist "ton cheminpref.js" xcopy "ton cheminpref.js" "c:mes
documentsSauvegarde pref_Js" /h/r/y


Desolé mais je suis pas d'accord car l'option /Y ecrase le fichier
destination sans confirmation donc sans possibilité de restauration si
le fichier malade est sauvé.

J'adapterai plutot une sauvegarde par date sans le "if exist"

xcopy "ton cheminpref.js" "c:mesdocumentsSauvegarde
pref_Js_"%date:~6,4%-%date:~3,2%-%date:~0,2% /h/r



Pour la restauration par contre on peut conditionner si le fichier
"ton cheminpref.js" n'est pas bon. Dans ce cas il serra rempaclé par
la derniere sauvegarde.
Avatar
Michel__D
Bonjour,

Essaye comme ceci (sur une ligne) :

set dest=C:mon dossierprefs_%date:0,2%-%date:3,2%-%date:6,4%.js && copy "C:mon dossierprefs.js" "%dest%"


PS:Pour les fichiers sans attributs particuliers, la commande copy suffit.


Alain Lebayle a écrit :
Bonjour Amandine
Un grand merci et quelques questions ;-)

xcopy "C:ALPHApref.js"
"c:BETApref.Js"%date:~6,4%-%date:~3,2%-%date:~0,2% /h/r

1- Je fais le test avec cette syntaxe, mais il me pose une question s'il
s'agit d'un répertoire ou d'un fichier.
2- Je ne comprends pas (c'est normal) pourquoi le x pour xcopy
et que signifie /h/r
de même serait-ce possible avec la date en format français ?
Encore merci
Alain

Amandine Parmesan a écrit :
On Sun, 14 Mar 2010 10:11:43 +0100, Amandine Parmesan
wrote:

On Sat, 13 Mar 2010 12:13:29 +0100, "Tonio le Yéti"
wrote:

@if exist "ton cheminpref.js" xcopy "ton cheminpref.js" "c:mes
documentsSauvegarde pref_Js" /h/r/y


Desolé mais je suis pas d'accord car l'option /Y ecrase le fichier
destination sans confirmation donc sans possibilité de restauration si
le fichier malade est sauvé.

J'adapterai plutot une sauvegarde par date sans le "if exist"

xcopy "ton cheminpref.js" "c:mesdocumentsSauvegarde
pref_Js_"%date:~6,4%-%date:~3,2%-%date:~0,2% /h/r



Pour la restauration par contre on peut conditionner si le fichier
"ton cheminpref.js" n'est pas bon. Dans ce cas il serra rempaclé par
la derniere sauvegarde.
Avatar
Michel__D
Re,

Petite modification (toujours sur 1 ligne :

set dest=%appdata%un dossierprefs_%date:~0,2%-%date:~3,2%-%date:~6,4%.js && copy "%appdata%un dossierprefs.js" "%dest%"



Michel__D a écrit :
Bonjour,

Essaye comme ceci (sur une ligne) :

set dest=C:mon dossierprefs_%date:0,2%-%date:3,2%-%date:6,4%.js &&
copy "C:mon dossierprefs.js" "%dest%"


PS:Pour les fichiers sans attributs particuliers, la commande copy suffit.


Alain Lebayle a écrit :
Bonjour Amandine
Un grand merci et quelques questions ;-)

xcopy "C:ALPHApref.js"
"c:BETApref.Js"%date:~6,4%-%date:~3,2%-%date:~0,2% /h/r

1- Je fais le test avec cette syntaxe, mais il me pose une question
s'il s'agit d'un répertoire ou d'un fichier.
2- Je ne comprends pas (c'est normal) pourquoi le x pour xcopy
et que signifie /h/r
de même serait-ce possible avec la date en format français ?
Encore merci
Alain

Amandine Parmesan a écrit :
On Sun, 14 Mar 2010 10:11:43 +0100, Amandine Parmesan
wrote:

On Sat, 13 Mar 2010 12:13:29 +0100, "Tonio le Yéti"
wrote:

@if exist "ton cheminpref.js" xcopy "ton cheminpref.js" "c:mes
documentsSauvegarde pref_Js" /h/r/y


Desolé mais je suis pas d'accord car l'option /Y ecrase le fichier
destination sans confirmation donc sans possibilité de restauration si
le fichier malade est sauvé.

J'adapterai plutot une sauvegarde par date sans le "if exist"

xcopy "ton cheminpref.js" "c:mesdocumentsSauvegarde
pref_Js_"%date:~6,4%-%date:~3,2%-%date:~0,2% /h/r



Pour la restauration par contre on peut conditionner si le fichier
"ton cheminpref.js" n'est pas bon. Dans ce cas il serra rempaclé par
la derniere sauvegarde.
Avatar
Amandine Parmesan
On Sun, 14 Mar 2010 11:37:49 +0100, Alain Lebayle wrote:

Bonjour Amandine
Un grand merci et quelques questions ;-)

xcopy "C:ALPHApref.js"
"c:BETApref.Js"%date:~6,4%-%date:~3,2%-%date:~0,2% /h/r

1- Je fais le test avec cette syntaxe, mais il me pose une question s'il
s'agit d'un répertoire ou d'un fichier.



Ok j'avais jamais eu ce problème. Il existe une solution :

echo F | xcopy "C:ALPHApref.js" "c:betapref.js%date:~6,4%-%date:~3,2%-%date:~0,2%"

Ca donne :

Est-ce que C:betapref.js2010-03-14 spécifie un nom de fichier
ou un nom de répertoire de la destination
(F = fichier, R = répertoire) ? F
C:ALPHApref.js
1 fichier(s) copié(s)

en fait "echo F |" cree un pipe qui envoie la touche F a la comande suivante sans avoir a intervenir.
(F = fichier, R = répertoire) ? F <- Le F de fin est envoyé par le ECHO.

Quand au caractere | c'est ALTGR-6

2- Je ne comprends pas (c'est normal) pourquoi le x pour xcopy



Des options en plus.

et que signifie /h/r




/H : hidden (fichier caché)
/R : Read (fichier en lecture seule)

de même serait-ce possible avec la date en format français ?



Oui cest possible mais comme cela tu as un tri chronologique par noms

Si ca te va pas, remplace :
%date:~6,4%-%date:~3,2%-%date:~0,2%

Par :
%date:~0,2%-%date:~3,2%-%date:~6,4%

Encore merci
Alain


--
France-Irlande
J'ai pas honte d'être francaise, mais j'aimerai être fiere en laissant notre place à l'Irlande.
C'est une question d'honneur
Mais je ne me fais aucune illusion. J'espère que l'equipe qui a volé le match soit humilié et rentre la tête baissé.
http://www.youtube.com/watch?v=ekxsmPnHWSA
Avatar
Amandine Parmesan
On Sun, 14 Mar 2010 13:23:58 +0100, Amandine Parmesan wrote:

Ca donne :

Est-ce que C:betapref.js2010-03-14 spécifie un nom de fichier
ou un nom de répertoire de la destination
(F = fichier, R = répertoire) ? F
C:ALPHApref.js
1 fichier(s) copié(s)



J'ai oublié d'afficher le resultat avec dir :

C:beta>dir
Le volume dans le lecteur C n'a pas de nom.
Le numéro de série du volume est EC28-3912

Répertoire de C:beta

14/03/2010 13:18 <REP> .
14/03/2010 13:18 <REP> ..
14/03/2010 12:19 6 pref.js2010-03-14
1 fichier(s) 6 octets
2 Rép(s) 6 270 541 824 octets libres
--
France-Irlande
J'ai pas honte d'être francaise, mais j'aimerai être fiere en laissant notre place à l'Irlande.
C'est une question d'honneur
Mais je ne me fais aucune illusion. J'espère que l'equipe qui a volé le match soit humilié et rentre la tête baissé.
http://www.youtube.com/watch?v=ekxsmPnHWSA
Avatar
Amandine Parmesan
On Sun, 14 Mar 2010 13:19:01 +0100, Michel__D wrote:

Petite modification (toujours sur 1 ligne :

set dest=%appdata%un dossierprefs_%date:~0,2%-%date:~3,2%-%date:~6,4%.js && copy "%appdata%un dossierprefs.js" "%dest%"



Perso j'aime pas trop cette idée de mettre la variable en plein milieu du nom
C'est que mon avis mais à la fin me semble etre la meilleur solution. sur cette exemple là ca prete pas a confusion, mais dans le cas de sauvegarde de
fichier multiple, on arriverai vite a avoir des conflits/casse tête si le prefixe (nom du fichier sans extension) est commun a d'autre extension.

Par exemple si le batch devient plus complexe c'est moins propre de faire :
C:beta>dir pref*.js
Le volume dans le lecteur C n'a pas de nom.
Le numéro de série du volume est EC28-3912

Répertoire de C:beta

14/03/2010 12:19 6 pref2010-03-14.js
1 fichier(s) 6 octets
0 Rép(s) 6 270 537 728 octets libres


que de faire :
C:beta>dir pref.js*
Le volume dans le lecteur C n'a pas de nom.
Le numéro de série du volume est EC28-3912

Répertoire de C:beta

14/03/2010 12:19 6 pref.js2010-03-14
1 fichier(s) 6 octets
0 Rép(s) 6 270 537 728 octets libres



Mais comme dit, c'est que mon avis.

--
France-Irlande
J'ai pas honte d'être francaise, mais j'aimerai être fiere en laissant notre place à l'Irlande.
C'est une question d'honneur
Mais je ne me fais aucune illusion. J'espère que l'equipe qui a volé le match soit humilié et rentre la tête baissé.
http://www.youtube.com/watch?v=ekxsmPnHWSA
Avatar
Alain Lebayle
Re,
La procédure de Michel ne fonctionne pas chez moi
Alain


Amandine Parmesan a écrit :
On Sun, 14 Mar 2010 13:23:58 +0100, Amandine Parmesan wrote:

Ca donne :

Est-ce que C:betapref.js2010-03-14 spécifie un nom de fichier
ou un nom de répertoire de la destination
(F = fichier, R = répertoire) ? F
C:ALPHApref.js
1 fichier(s) copié(s)



J'ai oublié d'afficher le resultat avec dir :

C:beta>dir
Le volume dans le lecteur C n'a pas de nom.
Le numéro de série du volume est EC28-3912

Répertoire de C:beta

14/03/2010 13:18 <REP> .
14/03/2010 13:18 <REP> ..
14/03/2010 12:19 6 pref.js2010-03-14
1 fichier(s) 6 octets
2 Rép(s) 6 270 541 824 octets libres
Avatar
Michel__D
Re,

Mouais, c'est vrai que dans un raccourci cela ne fonctionne pas à cause entre autre des guillemets.

Voici une autre alternative, qui fonctionne dans un raccourci (sur 1 ligne) :

cmd.exe /c cd %appdata%ThunderbirdProfiles3pttg66s.default && copy prefs.js "C:ou tu veuxprefs_%date:~0,2%-%date:~3,2%-%date:~6,4%.js"


PS:le "C:ou tu veuxprefs_ ..." pourrait aussi être
"X:je préfère iciprefs_..."


Alain Lebayle a écrit :
Re,
La procédure de Michel ne fonctionne pas chez moi
Alain


Amandine Parmesan a écrit :
On Sun, 14 Mar 2010 13:23:58 +0100, Amandine Parmesan
wrote:

Ca donne :

Est-ce que C:betapref.js2010-03-14 spécifie un nom de fichier
ou un nom de répertoire de la destination
(F = fichier, R = répertoire) ? F
C:ALPHApref.js
1 fichier(s) copié(s)



J'ai oublié d'afficher le resultat avec dir :

C:beta>dir
Le volume dans le lecteur C n'a pas de nom.
Le numéro de série du volume est EC28-3912

Répertoire de C:beta

14/03/2010 13:18 <REP> .
14/03/2010 13:18 <REP> ..
14/03/2010 12:19 6 pref.js2010-03-14
1 fichier(s) 6 octets
2 Rép(s) 6 270 541 824 octets libres
Avatar
Amandine Parmesan
On Sun, 14 Mar 2010 13:19:01 +0100, Michel__D wrote:



Petite modification (toujours sur 1 ligne :

set dest=%appdata%un dossierprefs_%date:~0,2%-%date:~3,2%-%date:~6,4%.js && copy "%appdata%un dossierprefs.js" "%dest%"




Comme ca :
C:>set dest=c:betaprefs_%date:~0,2%-%date:~3,2%-%date:~6,4%.js && copy "c:alphapref.js" "%dest%"
1 fichier(s) copié(s).

Ce que je n'aime pas avec cette methode c'est que ca ajoute une variable qui n'est pas necessaire :

C:>set
ALLUSERSPROFILE=C:Documents and SettingsAll Users
APPDATA=C:Documents and SettingsAmandineApplication Data
CLIENTNAME=Console
CommonProgramFiles=C:Program FilesFichiers communs
COMPUTERNAME=VIRTUAL-17E39E5
ComSpec=C:WINDOWSsystem32cmd.exe
dest=c:betaprefs_14-03-2010.js
...


--
France-Irlande
J'ai pas honte d'être francaise, mais j'aimerai être fiere en laissant notre place à l'Irlande.
C'est une question d'honneur
Mais je ne me fais aucune illusion. J'espère que l'equipe qui a volé le match soit humilié et rentre la tête baissé.
http://www.youtube.com/watch?v=ekxsmPnHWSA
1 2 3 4