Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1492 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Renommer deux fichiers

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Renommer deux fichiers

n°1998953
supersam2
Posté le 03-06-2010 à 21:43:17  profilanswer
 

Bonjour, j'aurais besoin d'un fichier batch qui ferait ceci:
 
regarder dans un dossier XYZ si le fichier XXA existe. Si oui il renomme le fichier XX en XXR et renomme ensuite le fichier XXA en XX. S'il n'existe pas il renomme le fichier XX en XXA et le fichier XXR en XX.
 
un exemple concret: j'ai un fichier appelé config qui est chargé par un jeu. Pour pouvoir facilement changer de config, il faut qu'il renomme ma première config en un nom temporaire pour pouvoir renommer la deuxième config en config et que le jeu charge la deuxième plutot que la première. En gros j'ai deux fichiers: "Config" et "Config renaud" la première est en fait "Config sam" mais pour que le jeu la charge il faut bien qu'elle ait le bon nom. Donc ci je lance le batch, il vérifie si le fichier "Config renaud" existe. Si oui il renome le fichier "Config" en "Config sam" et ensuite il renomme le fichier "Config renaud" en "Config". S'il n'existe pas cela veut dire que le fichier "Config sam" existe et donc il faut renommer "Config" en "Config renaud" et renommer ensuite "Config sam" en "Config"
 
C'est pas facile à expliquer j'espère que vous pourrez m'aider

mood
Publicité
Posté le 03-06-2010 à 21:43:17  profilanswer
 

n°1999178
Sve@r
Posté le 04-06-2010 à 17:47:34  profilanswer
 

supersam2 a écrit :

un exemple concret: j'ai un fichier appelé config qui est chargé par un jeu. Pour pouvoir facilement changer de config, il faut qu'il renomme ma première config en un nom temporaire pour pouvoir renommer la deuxième config en config et que le jeu charge la deuxième plutot que la première. En gros j'ai deux fichiers: "Config" et "Config renaud" la première est en fait "Config sam" mais pour que le jeu la charge il faut bien qu'elle ait le bon nom. Donc ci je lance le batch, il vérifie si le fichier "Config renaud" existe. Si oui il renome le fichier "Config" en "Config sam" et ensuite il renomme le fichier "Config renaud" en "Config". S'il n'existe pas cela veut dire que le fichier "Config sam" existe et donc il faut renommer "Config" en "Config renaud" et renommer ensuite "Config sam" en "Config"


 
 
Moi ça m'épuise ce genre de question à 2 balles. Déjà ce n'est pas parce que "Config renaud" n'existe pas que "Config sam" existe forcément.
 
Sinon désolé, je ne connais pas assez le batch pour faire ça. En plus, ton algo fait qu'à chaque fois, c'est l'un des deux fichiers "config sam" ou "config renaud" qui reste dans le dossier car l'autre a été renommé. T'as pas peur de foirer et de perdre les deux ?
Alors si j'étais toi, je garderais en permanence les deux fichiers config et je créerais deux batch. Le premier effacerait "config" et copierait "config sam" en config et le second ferait pareil mais à partir de "config renaud". Comme ça, si ça foire, tu conserves tes fichiers de base...


Message édité par Sve@r le 04-06-2010 à 18:46:43

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1999208
supersam2
Posté le 04-06-2010 à 20:08:25  profilanswer
 

ok merci (bien que ce que je dis est toujours vrai DANS MON FICHIER évidemment c'est un batch très personalisé)

n°2000274
aigles
Posté le 09-06-2010 à 15:43:58  profilanswer
 

Tu peux faire quelque chose comme ça :

Code :
  1. @ECHO ON
  2. SET Config_0=U:\TEMP\game.cfg
  3. SET Config_1=U:\TEMP\Renaud.cfg
  4. SET Config_2=U:\TEMP\Sam.cfg
  5. IF EXIST %Config_1% (
  6.    SET old=%Config_2%
  7.    SET new=%Config_1%
  8. ) ELSE (
  9.    SET old=%Config_1%
  10.    SET new=%Config_2%
  11. )
  12. CALL :RENOMME_CONFIGS "%old%" "%new%" "%Config_0%"
  13. GOTO :EOF
  14. GOTO :_AFTER_RENOMME_CONFIGS
  15. :RENOMME_CONFIGS
  16.    RENAME "%~3" "%~nx1"
  17.    RENAME "%~2" "%~nx3"
  18.    GOTO :EOF
  19. :_AFTER_RENOMME_CONFIFS

Exemple d'utilisation :

U:\TEMP>dir *.cfg
 Le volume dans le lecteur U s'appelle Data
 Le numéro de série du volume est 7404-6451
 
 Répertoire de U:\TEMP
 
09/06/2010  15:35                 9 game.cfg
09/06/2010  15:35                 9 Sam.cfg
               2 fichier(s)               18 octets
               0 Rép(s)  55 686 447 104 octets libres
 
U:\TEMP>type *.cfg
 
game.cfg
 
 
renaud
 
Sam.cfg
 
 
sam
 
U:\TEMP>sam2.bat
 
U:\TEMP>dir *.cfg
 Le volume dans le lecteur U s'appelle Data
 Le numéro de série du volume est 7404-6451
 
 Répertoire de U:\TEMP
 
09/06/2010  15:35                 9 game.cfg
09/06/2010  15:35                 9 Renaud.cfg'
               2 fichier(s)               18 octets
               0 Rép(s)  55 686 447 104 octets libres
 
U:\TEMP>type *.cfg
 
game.cfg
 
 
sam
 
Renaud.cfg'
 
 
renaud
 
U:\TEMP>sam2.bat
 
U:\TEMP>dir *.cfg
 Le volume dans le lecteur U s'appelle Data
 Le numéro de série du volume est 7404-6451
 
 Répertoire de U:\TEMP
 
09/06/2010  15:35                 9 game.cfg
09/06/2010  15:35                 9 Sam.cfg
               2 fichier(s)               18 octets
               0 Rép(s)  55 686 447 104 octets libres
 
U:\TEMP>type *.cfg
 
game.cfg
 
 
renaud
 
Sam.cfg
 
 
sam
 
U:\TEMP>


 
Jean-Pierre.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Renommer deux fichiers

 

Sujets relatifs
[SHELL] Renommer les noms de fichiers avec espaces[Shell/Batch] Renommer des fichiers
Renommer des fichiers divers dans dossiers ET sous-dossiers[Batch]Renommer des fichiers[Résolu]
Renommer des fichiers grâce à une base de données[RESOLU] Probleme pour renommer les fichiers PHP
[Résolu][Batch] Renommer des fichiersrenommer rapidement des fichiers
Renommer plusieurs fichiers à la volée[batch] modifier automatiquement l'extension de fichiers qcq
Plus de sujets relatifs à : Renommer deux fichiers


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR