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 ? :)

2 réponses

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