Probleme avec variable %date% et xcopy

Probleme avec variable %date% et xcopy - Stockage/Sauvegarde - Windows & Software

Marsh Posté le 16-03-2005 à 12:18:38    

Salut a tous.
 
Je voudrais faire une sauvergarde tout les jours de certain dossiers, et stoker le tout dans un repertoire du nom de la date du jour.
 
je fais ça:
XCOPY /E /Y /R c:\toto c:\totoSave\%date%*
 
Mais il me fait une arborescence genre totoSave/16/3/2005/mes dossiers
 
Est ce que je peux formater la date pour supprimer les / afin d'avoir la date comme ça 16032005 plutot que 16/03/2005 ?
 
Merci

Reply

Marsh Posté le 16-03-2005 à 12:18:38   

Reply

Marsh Posté le 16-03-2005 à 17:55:08    

personne ?

Reply

Marsh Posté le 17-03-2005 à 17:48:33    

Salut!
normalement tu peut etre t'en sortir en changeant le "séparateur de date" dans les "Options régionales" du "Panneau de configuration".
Si ca marche pas y aura toujours moyen de le faire en .bat

Reply

Marsh Posté le 17-03-2005 à 22:21:08    

nono_robot a écrit :

Salut!
normalement tu peut etre t'en sortir en changeant le "séparateur de date" dans les "Options régionales" du "Panneau de configuration".
Si ca marche pas y aura toujours moyen de le faire en .bat


 
Ok merci
Mais en .bat je suis pas tres fort. Je cherche comment faire

Reply

Marsh Posté le 17-03-2005 à 22:24:17    

Regarde les options de la commande SET. Avec ça, et quelques lignes de codes, tu pourras redécouper ta date en plusieurs morceaux, et les reconstituer si nécessaire.

Reply

Marsh Posté le 25-03-2005 à 16:16:26    

C'est bon je l'ai:
 
XCOPY /S /E /Y /R c:\toto c:\totoSave\%date:/=%\*

Reply

Marsh Posté le 25-03-2005 à 17:02:33    

[HS]:hello:
Il y a une option pour désactiver les smileys :lol:[/HS]

Reply

Marsh Posté le 27-03-2005 à 15:58:12    

wackevat a écrit :

[HS]:hello:
Il y a une option pour désactiver les smileys :lol:[/HS]


 
 
oups !
j'avais pas relu mon message !
 
XCOPY /S /E /Y /R c:\toto c:\totoSave\%date:/=%\*

Reply

Marsh Posté le 27-03-2005 à 16:38:35    

Y'a un topic où je posais la question et où on a répondu.
Que fait la fonction recherche ?

Reply

Marsh Posté le 31-03-2005 à 14:08:31    

Latinus a écrit :

Y'a un topic où je posais la question et où on a répondu.
Que fait la fonction recherche ?


 
la meme chose tu demandais ?

Reply

Marsh Posté le 31-03-2005 à 14:08:31   

Reply

Marsh Posté le 31-03-2005 à 14:43:04    

Pas pour de l'xcopy mais pour des caractères embêtants dans le contenu de la variable date.

Reply

Marsh Posté le 31-03-2005 à 14:46:05    

comme suggéré plus haut, ma méthode a été de modifier les paramètres régionaux, mais une autre solution m'a été donnée
http://forum.hardware.fr/forum2.ph [...] 0&subcat=0

Reply

Marsh Posté le 01-04-2005 à 16:33:46    

Latinus a écrit :

comme suggéré plus haut, ma méthode a été de modifier les paramètres régionaux, mais une autre solution m'a été donnée
http://forum.hardware.fr/forum2.ph [...] 0&subcat=0


 
j'ai lu la réponse, c'est chaud kan meme !
Ma methode est plus simple :)

Reply

Marsh Posté le 01-04-2005 à 21:42:39    

Ha pour ça je suis d'accord... ;)

Reply

Marsh Posté le 01-04-2005 à 22:03:28    

je fais des manip sur les dates dans un batch... mais j'ai pas les fichiers là, ils sont au taf...
en fait, j'extrait du %date% le tout.. et je reconcatène pour avoir la date, puis aussi l'heure jusqu'au 100ème de seconde...
au final, je renomme des fichiers avec le format (au choix) suivant
NOMDUFICHIER_aaaammjj-00h00mn00s00.ext
 
voilou, si ça t'intéresse, fait moi signe... et je fais ça.. euh.. pas demain vu que je bosse pas demain... mais disons lundi !
 
(ah ben la solution semble donnée dans le lien plus haut.. j'avais pas vu, sorry !)

Reply

Marsh Posté le 05-04-2005 à 17:02:17    

Hop... voilà le petit extrait que j'utilise très souvent !
 


REM ===========================
REM = CALCUL DATE ET HEURE
REM ===========================
REM -=- DATE -=-
FOR /F "tokens=2 delims= " %%i in ('date /T') do @set maintenant=%%i
FOR /F "tokens=1,2,3 delims=/" %%i in ('@echo %maintenant%') do set maintenant=%%k%%j%%i
REM -=- HEURE -=-
FOR /F "tokens=1,2,3 delims=:" %%i in ('@echo %time%') do @set heure=%%ih%%jmn%%k
FOR /F "tokens=1,2 delims= " %%i in ('@echo %heure%') do @set heure=%%is%%j
REM -=- DATE-HEURE -=-
SET DATEHEURE=%maintenant%-%heure%


Reply

Marsh Posté le 06-04-2005 à 02:14:51    

heu mois j'ai fait à la bourrin tout compte fait (du moins pour une application)
%date% retourne date=Wed 2005.04.06
%time% retourne time= 2:06:22.57
 
Donc, un batch planifié pour lancer la génération de minatures pour certaines galeries non "instantanées" est écrit comme suit :
 

Code :
  1. set date=%date%
  2. set dateG=%date:~-10%
  3. set time=%time%
  4. set timeG=%time:~0,-9%
  5. set tagH=%dateG%-h%timeG%
  6. x:\scripts\resize.cmd >x:\scripts\zz_resize-"%tagH%".log


Cela donne donc un fichier "log" qui renseigne :
zz_resize-2005.03.22-h20.log
 
nom du batch logué
date
heure
 
%tagH% entre "quote" car les heures 0->9 ne retournent pas 00,01,02,... mais _0,_1,_2,...
Et les espaces il aime pas ça (m'a fallut du temps pour trouver où ça merdait).
 
Les FOR, DO & co, c'est bien joli mais à la limite je préfère m'y casser la tête ailleurs quand dans du simple batch ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed