Renommage fichier batch

Résolu
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 ? :)

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. 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. 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%"
    2. malheuresement ça ne fonctionne pas :/ toujours la même erreur !
    3. 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
    4. 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 !
    5. 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
  2. Contributeur
    hello
    essyer avec
    ren Cookies  %date:/=-%-%time:~0,2%-%time:~3,2%-%time:~6,2%
    1. Merci ! ça fonctionne parfaitement ! peut tu juste m'expliquer ton code ?
      ( histoire que je me couche moins bete ce soir :D )
    2. Contributeur
      %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
    3. Merci beaucoup !