Batch file - créer répertoire Date+Heure

Batch file - créer répertoire Date+Heure - Shell/Batch - Programmation

Marsh Posté le 28-03-2006 à 00:51:59    

Bonjour,
 
Je suis un novice en la matière et j'essaie de créer, à l'intérieur d'un batch file, un répertoire qui porterait le nom de la Date et de l'Heure (afin d'automatiser mes backup).
 
Je peux facilement le faire avec la date... md %date%.
Cependant la syntaxe pour la date + l'heure ne fonctionne pas... md %date% %time%.
 
Je travaille dans le Dos de Windows XP.  Est-ce qu'un bon samaritain pourrait m'écrire la syntaxe pour résoudre mon problème.
 
Merci
Pierre (Québec, Canada)

Reply

Marsh Posté le 28-03-2006 à 00:51:59   

Reply

Marsh Posté le 28-03-2006 à 10:48:42    

Il y a trois choses :  
 
- pas de "Dos de Windows XP" : il s'agit de l'invite de commandes (command interpreter), c'est différent.  
 
- quand il y a un espace dans un nom, tu dois le quoter. Exemple :  
dir "%ProgramFiles%"  
 
- certains caractères ne sont pas autorisés dans le nom des fichiers/dossiers :  
\ / : * ? " < > |  
 
Fais  
echo %time%  
à l'invite de commandes pour vérifier lesquels sont dans ta variable.


Message édité par wackevat le 28-03-2006 à 10:49:06
Reply

Marsh Posté le 28-03-2006 à 11:32:59    

moi perso pour changer le format de la date de jj/mm/aa en jj-mm-aa
 

Code :
  1. %DATE:/=-%


Message édité par top_rem le 28-03-2006 à 11:33:32
Reply

Marsh Posté le 28-03-2006 à 11:34:07    

pareil pour l'heure remplace les : par des -
 

Code :
  1. %time::=-%


Message édité par top_rem le 28-03-2006 à 11:35:45
Reply

Marsh Posté le 28-03-2006 à 17:21:22    

Merci top_rem de ta réponse rapide mais malheureusement, ça ne fonctionne pas.  
Lorsque je tappe dans l'invite dos %DATE:/=-%, j'obtiens le message suivant: La variable d'environnement n'est pas définie.
Lorsque je tappe dans l'invite dos %time::=-%, j'obtiens le message suivant:'10-11-20.30' n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commande.
Si je tape  md %date%, j'obtiens un répertoire portant le nom de la date.
Si  je tape md %time%, j'obtiens le message suivant: Syntaxe du nom du fichier, de répertoire ou de volume incorrecte.
 
Que faut-il faire pour créer un répertoire avec l'heure ?
 
Merci encore

Reply

Marsh Posté le 28-03-2006 à 19:03:38    

moi ça fonctionne, tu met:
 

Code :
  1. echo off
  2. md "%date:/=-%--%time::=-%"
  3. pause


Message édité par top_rem le 28-03-2006 à 19:05:41
Reply

Marsh Posté le 28-03-2006 à 19:06:47    

arf y a un prob dans le code donc c'est bien %date:/=-% -- %time::=-%
 
mais il faut mettre le tout entre ""
 
tu copie le tout dans un fichier .bat et tu l'execute


Message édité par top_rem le 28-03-2006 à 19:09:03
Reply

Marsh Posté le 29-03-2006 à 10:09:55    

j'ai vu une solution interresante dans un autre post:
 
for /f %%a in ('time /t') do echo %%a
md "%date:/=-% - %time::=H%"


Message édité par top_rem le 29-03-2006 à 10:11:07
Reply

Marsh Posté le 30-03-2006 à 23:59:26    

MERCI BEAUCOUP top_rem.
Grâce à ton aide, j'ai réussi à complèter mon batch file et ça fonctionne très bien. J'ai enlevé "&#034" au début de la ligne... j'obtiens un message d'erreur avec ce code.
Un dernière chose... pourrais-tu m'indiquer le code pour renverser la date... i.e. Année, Mois, Jour.
Merci encore, ce fut très apprécié
ps: Pourrais-tu m'indiquer un site qui explique les signes (-)moins que tu places à certains endroit ainsi que (::) et tu utilises "%DATE:/=-%" et non %date% etc.

Reply

Marsh Posté le 31-03-2006 à 00:04:28    

Sais pas pourquoi, mais le Front Slash (/) apparaît commen un bonhomme à gueule croche. Donc... lire le bonhomme à gueule croche comme étant un front slash (oblique de droite à gauche)

Reply

Marsh Posté le 31-03-2006 à 00:04:28   

Reply

Marsh Posté le 31-03-2006 à 00:07:18    

C'est plutôt 2 caractères réunis qui font le bonhomme... 2 pointes et front slash " : suivi de / "

Reply

Marsh Posté le 31-03-2006 à 01:33:46    

J'ai trouvé la solution pour renverser la date... merci top_rem
set jour=%date:~0,2%
set mois=%date:~3,2%
set annee=%date:~6,2%
set heure=%time:~0,8%
set a=%annee%-%mois%-%jour%_%heure::=.%"

Reply

Marsh Posté le 31-03-2006 à 09:20:09    

Tintin1943 a écrit :

MERCI BEAUCOUP top_rem.
Grâce à ton aide, j'ai réussi à complèter mon batch file et ça fonctionne très bien. J'ai enlevé "&#034" au début de la ligne... j'obtiens un message d'erreur avec ce code.
Un dernière chose... pourrais-tu m'indiquer le code pour renverser la date... i.e. Année, Mois, Jour.
Merci encore, ce fut très apprécié
ps: Pourrais-tu m'indiquer un site qui explique les signes (-)moins que tu places à certains endroit ainsi que (::) et tu utilises "%DATE:/=-%" et non %date% etc.


 
 
en gros quand j'utilise : / =  - dans le paramettre date je remplace le / que tu ne peux mettre dans un nom de fichier par un -

Reply

Sujets relatifs:

Leave a Replay

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