Batch sauvegarde / DATE et HEURE

C'est ici que sont postés les messages qui n'entrent pas dans le cadre des autres forums.
Ces messages doivent néanmoins rester en conformité avec la <a href=http://www.ixus.net/charte_forums.php>Charte</a> qui régule les forums.
Nous vous remercions d'éviter les sujets complètement off-topic (foot, pêche ...). Ne perdons pas de vue qu'Ixus reste un site relatif à l'informatique.

Modérateur: modos Ixus

Batch sauvegarde / DATE et HEURE

Messagepar V.Y.Z » 13 Mai 2004 19:02

Bonjour,

Je souhaiterais faire un fichier en *.bat qui me sauvegarde d'autres fichiers avec en plus la date et l'heure, par exemple:

" C:\TOTO.TXT " fichier créé manuellement ou par tout autre moyen connu.

Ensuite je souhaite donc faire une sauvegarde de ce fichier par un BATCH qui se lance à chaque fois soit manuellement soit automatiquement.

BATCH= " C:\SAUVE.BAT "

En le lançant j'aurais une sauvegarde de "C\TOTO.TXT" vers un répertoire de sauvegarde "C:\ARCHIVE\"

Ca donnerait: "C:\ARCHIVE\TOTO_13-05-2004_19H13.TXT"

Je pense que l'on peut y arriver avec la commande COPY, ex:

"COPY C:\TOTO.TXT C:\ARCHIVE\TOTO$$$.TXT /E /T /Y /P /D:date_du_jour >NUL"

Je ne connais pas la syntaxe exact à utiliser d'où les 3 $($$) et j'ai déjà essayer la concaténation de 2 fichiers mais ça n'est pas terrible car ce n'est pas le résultat recherché.
@+++ cio

V.Y.Z
V.Y.Z
Matelot
Matelot
 
Messages: 8
Inscrit le: 12 Mai 2004 16:37
Localisation: Metz

slt

Messagepar golodh » 13 Mai 2004 21:20

déja ce que tu peux faire :

dans un .bat (un truc qui marche, mais faudrait essayer avec moins de fichiers temp)

@echo off
date /t > date.tmp
time /t > time.tmp
sed -e "s/:/H/" time.tmp > newtime.tmp
sed -e "s/ //" newtime.tmp > time.tmp
sed -e "s/\//-/g" date.tmp > newdate.tmp
sed -e "s/ //" newdate.tmp > date.tmp
del newtime.tmp
del newdate.tmp
set /p newtime= < time.tmp
set /p newdate= < date.tmp
del time.tmp
del date.tmp
copy toto.txt archive\toto-%newdate%_%newtime%.txt

SED

bonne chance
Avatar de l’utilisateur
golodh
Premier-Maître
Premier-Maître
 
Messages: 55
Inscrit le: 14 Jan 2004 01:00

Messagepar hb » 21 Mai 2004 23:59

pour obtenir la date actuelle dans 3 variables
%a = jour
%b = mois
%c = année
for /F "tokens=1-3delims=/" %a in ('date /t') do @echo %a-%b-%c

pour obtenir l'heure actuelle dans 2 variables
%d = heure
%e = minutes
for /F "tokens=1-2delims=:" %d in ('time /t') do @echo %d-%e

ainsi, si tu remplaces
@echo %a-%b-%c
par
set date=%a-%b-%c
et
@echo %d-%e
par
set heure=%d-%e
tu pourras faire
copy c:\toto.txt c:\archives\toto-%date%-%heure%.txt

PS: si tu decides de mettre ça en BATCH il faut absolument doubler les % dans %a %b ...
%%a %%b %%c ....
mais pas pour les variables %heure% et %date%
Avatar de l’utilisateur
hb
Amiral
Amiral
 
Messages: 1513
Inscrit le: 06 Juin 2002 00:00
Localisation: Nord Isere, 50kms Lyon

Windows 2000 et pas Xp

Messagepar V.Y.Z » 26 Mai 2004 20:00

Bonsoir,

J'ai bien lue vos réponses, je préfère néanmoins la réponse de HB ( :?: Hanball ???), car elle n'utilise pas d'autre programme lourd (bien que très léger, SED 15 Ko) à gérer en plus par la machine.

Et voilà donc mon nouveau problème, Windows 2000, la commande sous Xp me donne juste "26/05/2004 ", mais sous 2000 ==> " Mer. 26/05/2004 "

Et le Mer avec son " . " rend la commande de "copy" inutilisable, donc va falloir que je vois avec SED à virer ce " . " car sinon le jour me plairait bien aussi, plus c'est précis et plus j'adore cela
@+++ cio

V.Y.Z
V.Y.Z
Matelot
Matelot
 
Messages: 8
Inscrit le: 12 Mai 2004 16:37
Localisation: Metz

Re: Windows 2000 et pas Xp

Messagepar hb » 26 Mai 2004 20:34

V.Y.Z a écrit:Bonsoir,

J'ai bien lue vos réponses, je préfère néanmoins la réponse de HB ( :?: Hanball ???), car elle n'utilise pas d'autre programme lourd (bien que très léger, SED 15 Ko) à gérer en plus par la machine.

Et voilà donc mon nouveau problème, Windows 2000, la commande sous Xp me donne juste "26/05/2004 ", mais sous 2000 ==> " Mer. 26/05/2004 "

Et le Mer avec son " . " rend la commande de "copy" inutilisable, donc va falloir que je vois avec SED à virer ce " . " car sinon le jour me plairait bien aussi, plus c'est précis et plus j'adore cela


c'est surement la config dans tes parametre regionnaux qui explique cette difference.
toutefois tu peux adapter mon batch à ton pb à savoir ajouter le . dans les caracteres DELIMS

en aveugle je modifierais ça de la sorte

for /F "tokens=1-4delims=/." %a in ('date /t') do @echo %a-%b-%c-%d

%a=Mer
%b= 26
%c=05
%d=2004

je me demande si il ne va pas y avoir un espace devant le 26
si c'est un pb tu ajoute un espace entre / et . dans delims=/ .

n'esiste pas à reposter si tu veux affiner les possibilite de la comande FOR qui est fort utile, LOL ;)
Avatar de l’utilisateur
hb
Amiral
Amiral
 
Messages: 1513
Inscrit le: 06 Juin 2002 00:00
Localisation: Nord Isere, 50kms Lyon

Re: Windows 2000 et pas Xp

Messagepar swapfiles » 26 Mai 2004 23:38

V.Y.Z a écrit:Bonsoir,

J'ai bien lue vos réponses, je préfère néanmoins la réponse de HB ( :?: Hanball ???)


'lut.

Non HB ne veut pas dire Hanball mais Human Bomber.
Désolé herve je n'ai pas pu résister. :lol:

@+++ je connais la sortie...
je lui ais dis que tu m'avais dis qu'il s'était dit qu'on lui dirait!!!
Avatar de l’utilisateur
swapfiles
Vice-Amiral
Vice-Amiral
 
Messages: 791
Inscrit le: 16 Mai 2003 00:00
Localisation: Bordeaux

Congratulations

Messagepar V.Y.Z » 27 Mai 2004 12:51

Merci HB tes commandes fonctionnent nickel-chromes

Toi t'est un BON, merci

SwapFiles, tu regardes trop les reportages de TF1
@+++ cio

V.Y.Z
V.Y.Z
Matelot
Matelot
 
Messages: 8
Inscrit le: 12 Mai 2004 16:37
Localisation: Metz

Messagepar remi » 27 Mai 2004 14:12

Ca serait plutôt les archives de TF1...

Bon, un peu de sérieux.
Ne perdez pas le fil du post.
Art de vivre : Mourir pour mourir, que cela soit entre le $%#&! des femmes et le $%#&! des bouteilles !
Avatar de l’utilisateur
remi
AdminIxus
AdminIxus
 
Messages: 3218
Inscrit le: 22 Avr 2002 00:00
Localisation: Lyon

Messagepar hb » 27 Mai 2004 19:26

@V.Y.Z: content de savoir que ça marche
@remi: pour ce qui est de tenir le fil, je ne l'ai pas laché, enfin jusque là
donc j'en profite pour me lacher un peu à mon tour:
je comprend comment on arrive à 2600 posts Monsieur ;)
@swap: bon venant de toi je ne peux que bien le prendre :roll:

hein, comment, je p... polue. ah pardon je []-->
Avatar de l’utilisateur
hb
Amiral
Amiral
 
Messages: 1513
Inscrit le: 06 Juin 2002 00:00
Localisation: Nord Isere, 50kms Lyon


Retour vers Autres bavardages

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Google [Bot] et 1 invité