Renommage fichier batch

Résolu
jean -  
 jean -
Bonjour,

Je cherche à renommer un fichier par la date et l'heure actuelle

Le fichier a toujours le même nom et est situé dans le même endroit que le .bat

J'ai donc écris :

ren "nomdufichier" "%DATE%-%TIME%"

Le problème est que lorsque je lance le programme, il me dit " le nom du fichier existe deja, ou le fichier est introuvable "

Alors que si je mets :

ren "nomdufichier" "autrenomdefichier" là ça marche parfaitement ! Bizarre non ?

Une idée ? :)
A voir également:

2 réponses

olivbarb
 
Bonjour,

c'est du au fait que la commande %date% renvoie la date avec des / or tu ne peux pas en mettre dans le nom d'un fichier. Il faut les remplacer. Je ne sait plus la commande mais je vais chercher
1
olivbarb
 
j'ai trouvé la commande
Ce qu'il y a apres le = c'est ce qui va remplacer ce qu'il y a avant le =
il faut faire set myvar=%date:/=%-%time::=-%
pour le remplacement : ren fichier "%myvar%"
0
jean
 
malheuresement ça ne fonctionne pas :/ toujours la même erreur !
0
olivbarb
 
est ce que tu le fait pour plusieurs fichiers ? Si c'est le cas il faut mettre le myvar dans la boucle sinon les différents fichiers auront tous le même nom d'ou pb
0
jean
 
Non justement pour un seul fichier !
et ce qui est étonnant c'est que quand je renomme le fichier avec nom normal sans variable ça marche nickel ! mais dès que je veux renommer en utilisant une variable là ça ne marche pas !
0
olivbarb
 
es-tu sur que le .bat et le fichier a renommer sont dans le meme dossier ou fais-tu bien un cd avant le ren, pour te rendre dans le bon dossier car je viens de tester et chez moi ca marche bien
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
essyer avec
ren Cookies  %date:/=-%-%time:~0,2%-%time:~3,2%-%time:~6,2%
1
jean
 
Merci ! ça fonctionne parfaitement ! peut tu juste m'expliquer ton code ?
( histoire que je me couche moins bete ce soir :D )
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
%TIME% contient une virgule, d'où l'erreur
%time:~0,2% : extrait 2 caractères depuis 0, soit l'heure
%time:~3,2% : 2 car. depuis le 3ème, donc les minutes
%time:~6,2% : les secondes
0
jean
 
Merci beaucoup !
0