Téléchargement
illégal
Posez votre question Signaler

Batch pour renommer des fichiers [Résolu]

Theizzz 186Messages postés 25 février 2008Date d'inscription - Dernière réponse le 7 mai 2008 à 13:59
Bonjour,
Je vous décrit rapidement mon problème : je récupère des rapports mensuels en formats html dans un dossier c:\test et je dois les renommer automatiquement (donc je ne peux pas utiliser de logiciels du genre "Ant Renamer"...) :
ancien nom : "Rapport type 1 - 01-04-08 12'00'00.html"
Je voudrais que leur nouveaux noms soient uniquement la date système récupérée avec la variable %date%
Voilà le petit batch que je me suis fait, mais qui ne marche pas (encore :p) :
@echo off

cd c:\test

set new=%date%

for %%x in (*.html) do rename "%%x" "%new%"

pause

Lorsque j'éxecute le .bat : il me retourne l'erreur : Le chemin d'accès spécifié est introuvable.
Je ne serais pas contre un petit coup de main...
Merci à ceux qui donneront un peu de temps pour ce modeste problème !!
A+
Lire la suite 

Batch pour renommer des fichiers »

13 réponses
Réponse
+1
moins plus
Essaye de faire un echo sur le répertoire courant histoire de voir où il se situe, vu que le chemin ne semble pas OK.
Theizzz- 7 mai 2008 à 11:48
c'est-à-dire ?

mon fichier bat est sur le bureau, c'est pour ça que j'ai mis le chemin absolu du dossier "test"...
HostOfSeraphim- 7 mai 2008 à 11:50
Je ne connais pas suffisamment Windows pour t'indiquer exactement la bonne syntaxe... mais je me demande si en enlevant le echo off, ça ne te sortirait pas tous les messages d'erreurs ainsi que la progression du script.

Par contre, là je suis sur Windows (boulot oblige...), et un "cd C:\TEMP" ne marche pas ; essaye avec C: d'abord et cd test ensuite ?


Edit : j'ai corrigé "C:\TEMP" en "cd C:\TEMP"...

Theizzz- 7 mai 2008 à 11:59
Voila ce que ca me donne en mode debug :

C:\Documents and Settings\stitt\Bureau>cd "c:\test"

C:\test>set new=07/05/2008

C:\test>for %x in (*.html) do rename "%x" "07/05/2008"

C:\test>rename "rapport type 1 - 01-01-08 12'00'00.html" "07/05/2008"
Le chemin d'accès spécifié est introuvable.

C:\test>rename "rapport type 1 - 01-02-08 12'00'00.html" "07/05/2008"
Le chemin d'accès spécifié est introuvable.

C:\test>rename "rapport type 1 - 01-03-08 12'00'00.html" "07/05/2008"
Le chemin d'accès spécifié est introuvable.

C:\test>pause
Appuyez sur une touche pour continuer...
Ajouter un commentaire
Réponse
+0
moins plus
Je peut essayer de t'aider mais je ne te garanti rien Si tu a msn prend mon adresse dans le profil et rentre moi on pourra tester ton batch
Ajouter un commentaire
Réponse
+0
moins plus
En gros tu veux renommer les fichier que tu recoit et tu veux renommer a la date du jour??? C'est sa??
Theizzz- 7 mai 2008 à 11:47
oui c'est ca, par contre je suis au boulot et je n'ai pas msn :s
Pourrais-tu me donner un coup de main directement sur le forum ?
Ajouter un commentaire
Réponse
+0
moins plus
Salut,
En gros ta variable "new" contient aujourd'hui "07/05/2008".

Essaies de creer un fichier nommé "07/05/2008.html", tu y arrives ?
Theizzz- 7 mai 2008 à 12:02
non ca ne marche pas....caractère interdit "/".....il faudrait donc que je reformate ma variable new pour remplacer les "/" par des "-" ?

ps : je suis de retour a 13h au boulot ! (mais je serais peut-etre en déplacement...)

Merci de vos conseils,
je reposterais quand je reprendrai ce mini-projet! !
HostOfSeraphim- 7 mai 2008 à 12:02
Effectivement le caractère / pose souvent problème, mais un - fait largement l'affaire :)
Ajouter un commentaire
Réponse
+0
moins plus
@echo off
cd c:\test
set new=%date:~0,2%.%date:~3,2%.%date:~6,4%.html
for %%x in (*.html) do rename "%%x" "%new%"
pause
Theizzz- 7 mai 2008 à 13:02
Ca marche nikel !!
Merci pour ton aide (et aux autres aussi ^^)

A+
Ajouter un commentaire
Réponse
+0
moins plus
C'est re-moi !

Bon ben il y a eu du changement :

maintenant cette moulinette doit effectuer ce changement de nom sur certain fichiers uniquements et dans plusieurs dossier à la fois...je vous mets l'architecture des dossiers pour que vous compreniez mieux :


├───Rapports
│ ├───Details_appels_filiales_kuhn
│ │ └───Details_ - 07-05-08 13'26'23
│ │ chart57313.png
│ │ chart57314.png
│ │ data.html
│ │ Details_ - 07-05-08 13'26'23.html
│ │ tree.html
│ │
│ ├───Details_appels_GSM_Audureau
│ │ └───Details_d - 07-05-08 13'28'19
│ │ data.html
│ │ Details_d - 07-05-08 13'28'19.html
│ │ tree.html
│ │
│ ├───Details_appels_GSM_Huard
│ │ └───Details_des_ - 07-05-08 13'27'53
│ │ data.html
│ │ Details_des_ - 07-05-08 13'27'53.html
│ │ tree.html
│ │
│ ├───Details_appels_GSM_Saverne
│ │ └───Details_de - 07-05-08 13'29'50
│ │ data.html
│ │ Details_de - 07-05-08 13'29'50.html
│ │ tree.html
│ │
│ ├───Details_de_tout_les_appels
│ │ └───Details_de - 07-05-08 13'27'21
│ │ chart47280.png
│ │ chart47281.png
│ │ data.html
│ │ Details_de - 07-05-08 13'27'21.html
│ │ tree.html
│ │
│ └───Temps_attente_standard
│ └───Temps_attente_ - 07-05-08 13'26'04
│ data.html
│ Temps_attente_ - 07-05-08 13'26'04.html
│ tree.html

donc voila ce que je dois faire en plus :
- renommer uniquement le fichier du type "Temps_attente_ - 07-05-08 13'26'04.html" (ca c'est bon j'ai réussi à le faire !)
- la moulinette doit renommer chaque début de mois le fichier html qui est envoyé par le serveur de téléphonie !
donc, chaque début de moi, il y a un nouveau dossier avec le meme nom mais la date change...

Question : comment faire pour modifier les noms des fichiers html dans tout les dossiers ?

Rappel, voici l'état de mon fichier .bat :
@echo off
cd "c:\test\Rapports\Details_appels_filiales_kuhn\Details_ -  07-05-08 13'26'23"
set new=%date:~0,2%.%date:~3,2%.%date:~6,4%.html 
for %%x in (*_*.html) do rename "%%x" "%new%" 
pause


Si quelqu'un est motivé pour me filer un coup de main parce que je suis novice en prog....
D'ailleurs, si quelq'un à une autre solution, sachant que le programme qui renomme les fichiers html doit être exécuté automatiquement tous le 1er du mois !

Merci (d'avoir lu jusqu'au bout !!!)
Ajouter un commentaire
Ce document intitulé « Batch pour renommer des fichiers » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?