[BATCH] rename : préfixe

Résolu/Fermé
blackaagony Messages postés 25 Date d'inscription dimanche 19 novembre 2006 Statut Membre Dernière intervention 20 mars 2008 - 20 juil. 2007 à 15:05
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 21 juil. 2007 à 14:59
Bonjour,

La commande DOS FOR est compliquée à mon goût. Ca fait plusieurs fois que je me penche dessus et je ne parvient pas à faire ce que je veux.

Mon problème actuellement est que je veux faire un batch ajoutant un préfixe du type "abc - " à chaque dossiers du répertoire courant.

Voila ou j'en suis :

@echo off
echo Renommage

set %PREFIX="abc - "
echo Le prefixe est %PREFIX%

FOR /D %%i IN (*) DO rename * %PREFIX%*

pause


Voila, un coup de main serait le bienvenu!
A voir également:

9 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
20 juil. 2007 à 15:39
Je dirais:
set %PREFIX="abc -"
FOR /D %%i IN (*) DO rename %%i "%PREFIX% %%i"
3
s.spark Messages postés 2480 Date d'inscription vendredi 29 octobre 2004 Statut Contributeur Dernière intervention 13 février 2018 617
20 juil. 2007 à 15:10
Salut,

Cette commande ne renomme pas les dossiers.
0
blackaagony Messages postés 25 Date d'inscription dimanche 19 novembre 2006 Statut Membre Dernière intervention 20 mars 2008 28
20 juil. 2007 à 15:43
nikel merci dubcek, ca marche très bien. Ca puvait pas marcher avec '*'.

s.spark, j'ai pas compris ce que tu voulais dire, mais tu te trompes surement... puisque ça marche.

Voici donc le batch final :

@echo off
echo Renommage

set %PREFIX="abc - "
echo Le prefixe est %PREFIX%

FOR /D %%i IN (*) DO rename %%i %PREFIX%%%i

pause
0
s.spark Messages postés 2480 Date d'inscription vendredi 29 octobre 2004 Statut Contributeur Dernière intervention 13 février 2018 617
20 juil. 2007 à 15:52
J'ai regardé la docu de cette commande et ça ne fait pas mansion des dossiers :/
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
20 juil. 2007 à 16:07
et pourtant

Répertoires seulement
Si le jeu contient des caractères génériques (* et ?), la commande spécifiée s'exécute pour chaque répertoire (au lieu d'un jeu de fichiers dans un répertoire spécifié) qui correspond au jeu. La syntaxe de cette commande est la suivante :

for /D [%% | %]variable in (jeu) do commande [OptionsLigneCommande]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
blackaagony Messages postés 25 Date d'inscription dimanche 19 novembre 2006 Statut Membre Dernière intervention 20 mars 2008 28
20 juil. 2007 à 16:10
t'as pas du voir ça :

FOR /D %variable IN (ensemble) DO commande [paramètres]

Si ensemble contient des caractères génériques, alors la correspondance se
fait sur les noms de répertoires au lieu des noms de fichiers.

par contre, les espaces dans les noms de fichiers d'origine ne sont pas gérés... j'ai essayé quelques combinaisons avec les double quotes, ça n'a rien donné...
0
s.spark Messages postés 2480 Date d'inscription vendredi 29 octobre 2004 Statut Contributeur Dernière intervention 13 février 2018 617
20 juil. 2007 à 16:22
Je parlais de rename ^^ Mais bon maintenant je le saurais :D
0
blackaagony Messages postés 25 Date d'inscription dimanche 19 novembre 2006 Statut Membre Dernière intervention 20 mars 2008 28
20 juil. 2007 à 16:36
rien à faire, je n'arrive pas à gérer les espaces dans les noms de fichier...

@echo off
echo Renommage

set %PREFIX="abc - "
echo Le prefixe est %PREFIX%

FOR /D %%i IN (*) DO rename "%%i" %PREFIX%%%i

pause


Quelqu'un a une idée?
0
blackaagony Messages postés 25 Date d'inscription dimanche 19 novembre 2006 Statut Membre Dernière intervention 20 mars 2008 28
20 juil. 2007 à 20:59
Voici surement le dernier message pour ce topic. J'ai enfin un script qui gère les espaces dans les noms de fichier :

set PREFIX=abc - 
echo Le prefixe est %PREFIX%

FOR /D %%i IN (*) DO rename "%%i" "%PREFIX%%%~nxi"

pause
pause>nul


On m'a donné l'astuce sur https://www.developpez.net/forums/d381970/general-developpement/programmation-systeme/windows/ms-dos-for-rename-espaces/#post2323695#post2323695

ciao
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
21 juil. 2007 à 14:59
Dans mon message du vendredi 20 juillet 2007 à 15h39:11 PREFIX est entre guillemets
:-)
0