Renommer répertoires sous dos.

Fermé
bud35000 Messages postés 150 Date d'inscription lundi 5 février 2007 Statut Membre Dernière intervention 21 septembre 2016 - 23 janv. 2008 à 09:29
 Gordon - 26 oct. 2010 à 17:56
Bonjour,
j'aimerais renommer toute une série de répertoire en changeant l'extension.
J'ai créé pour ça un batch.
Mon problème c'est qu'avec ce batch j'arrive à ajouter une extension mais pas remplacer celle existante.

Voici mon script :
celui-ci rajoute l'extension que je souhaite avoir :

rem for /F %%i in ('dir/B') DO RENAME %%i %%i.txt


mais pour enlever l'extension qui existait auparavant, j'ai tenté le script suivant mais ça ne fonctionne pas :

FOR /F %%i in ('dir/B') DO (ECHO %%i) | FOR /F "tokens=1 delims=." %%j in ('findstr "\<.doc"') DO RENAME %%i %%j.txt

d'autre part, je me suis inspiré de script trouvé sur le net mais je ne vois pas à quoi servent "tokens" et "delims"...

Pourrait-on m'aider?
A voir également:

6 réponses

Darkito Messages postés 1191 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 26 mai 2010 545
23 janv. 2008 à 09:59
Bonjour,
c'est pour changer des .doc en .txt ?

il me semble que :
rename .doc .txt *.doc 
doit fonctionner (enfin ca fonctionne sous linux...)
--
Tøƒ
1
bud35000 Messages postés 150 Date d'inscription lundi 5 février 2007 Statut Membre Dernière intervention 21 septembre 2016 103
23 janv. 2008 à 10:12
ah il va falloir que je change d'os alors. Sous dos ça ne fonctionne pas.
1
Darkito Messages postés 1191 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 26 mai 2010 545
23 janv. 2008 à 10:19
J'ai tester sous dos :
rename *.doc *.txt

ca a l'air de fonctionner, mais ca marche que pour les fichiers présents dans le répertoire ou tu te trouves.
A toi d'ajouter la boucle pour parcourir les répertoires
--
Tøƒ
0
bud35000 Messages postés 150 Date d'inscription lundi 5 février 2007 Statut Membre Dernière intervention 21 septembre 2016 103
23 janv. 2008 à 15:07
En effet ça fonctionne bien comme ça avec les fichiers.
Mais c'est pas tout à fait ce que je veux faire, en fait ce sont des répertoires que j'aimerai renommer mais c'est ma faute j'aurai du préciser.
1
Darkito Messages postés 1191 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 26 mai 2010 545
23 janv. 2008 à 15:16
Le nom de tes dossiers à un format précis ?
j'avoue que je ne vois pas bien ce que tu veux faire...
--
Tøƒ
0
bud35000 Messages postés 150 Date d'inscription lundi 5 février 2007 Statut Membre Dernière intervention 21 septembre 2016 103
23 janv. 2008 à 15:28
ben oui. Ce sont des dossier qui doivent être automatiquement pris par un FTP. Or ils ne sont pris par la moulinette que s'ils ont une extension spécifique. J'avais mis .doc ou .txt comme ça pour l'exemple mais en fait ce sont d'autres extensions spécifiques à nos progiciels.

Ce qui est bizarre c'est que le script suivant fonctionne. Mais je ne vois pas comment retirer l'extension de départ.
C'est facile avec des fichiers mais avec les dossiers le dos n'a pas l'air de reconnaître le "*.*"
for /F %%i in ('dir/B') DO RENAME %%i %%i.dem

merci en tout cas de ton aide.
1

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

Posez votre question
pour des répertoires ou des fichiers, la syntaxe exacte est :

c:\test> for /F %i in ('dir/B') DO RENAME %i %i.txt

il faut être dans le répertoire contenant les fichiers et répertoires à renommer.
vous pouvez changer l'extension txt par autre chose, par exemple Gadget.

a+
1
MOVE

Déplace des fichiers et renomme des fichiers et répertoires.

Pour déplacer un ou plusieurs fichiers :
MOVE | /-Y [lecteur:][chemin]fichier1[,...] destination

Pour renommer un répertoire:
MOVE | /-Y [lecteur:][chemin]répert1 répertoire2

[lecteur:][chemin]fichier1 Spécifie l'emplacement et le nom du ou des
fichiers que vous voulez déplacer.
destination Spécifie le nouvel emplacement du fichier.
Destination peut être une lettre de lecteur et
deux-points (:), un nom de répertoire, ou une
combinaison. Si vous déplacez un seul fichier,
vous pouvez aussi inclure un nom de fichier si
vous voulez renommer le fichier en le déplaçant.
[lecteur:][chemin]répert1 Spécifie le répertoire que vous voulez renommer.
répert2 Spécifie le nouveau nom du répertoire.

/Y Supprime la demande de confirmation de
remplacement de fichiers de destination existants.
/-Y Provoque la demande de confirmation de
remplacement de fichiers de destination existants.

L'option /Y peut être présente dans la variable d'environnement COPYCMD.
Outrepassez ceci en utilisant /-Y dans la ligne de commandes. Par défaut, une
demande de confirmation apparaît sauf si la commande MOVE est exécutée depuis
un script de commandes.
0