Renommer les dossiers et fichiers

Résolu/Fermé
DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 - Modifié par DelNC le 1/11/2016 à 21:46
baladur13 Messages postés 46399 Date d'inscription mercredi 11 avril 2007 Statut Modérateur Dernière intervention 26 avril 2024 - 19 mars 2017 à 09:55
Bonjour à tous et toutes

Je cherche à renommer certains des dossiers et des fichiers.

J'arrive à récupérer la liste de tous mes fichiers et dossiers dans un fichiers résult.txt
for /f "delims=" %%a In ('dir /b/ad/s/a  "C:\Users\Desktop\fichiers" ') Do (
  echo %%a >>resultat.txt
)


Pour changer les espaces par un tiret pas de soucis.
Voilà le code
@echo off
setlocal enabledelayedexpansion

 for /f "delims=" %%a In ('dir /b/a-d/s/a  "C:\Users\mougi\Desktop\dossier_sous_dossier_fichier" ') Do (
     set "$File=%%~nxa"
     set "$File=!$File: =-!"
     ren "%%a" "!$File!"
    )


Mais c'est pour remplacer les é è ê par des e que je n'arrive pas.

Je vous remercie poour l'aide pour vous pourrez m'apporter.

1 réponse

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
2 nov. 2016 à 11:21
hello
pour que DOS reconnaisse les car. étendus, utiliser
chcp 1252
0
DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 1 999
2 nov. 2016 à 11:46
Bonjour dubcek

j'ai essayé mon code en mettant chcp 1252
for /f "delims=" %%a In ('dir /b/a-d/s/a  "C:\Users\mougi\Desktop\dossier_sous_dossier_fichier" ') Do (
     set "$File=%%~nxa"
     set "$File=!$File: chcp 1252 =e!"
     ren "%%a" "!$File!"
    )

Mais ça ne marche pas.
:(
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
2 nov. 2016 à 12:32
à mettre au début du script
chcp 1252
for /f "delims=" %%a In ('dir /b/a-d/s/a "C:\Users\mougi\Desktop\dossier_sous_dossier_fic
hier" ') Do (
set "$File=%%~nxa"
set "$File=!$File:é=e!"
ren "%%a" "!$File!"
)
0
DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 1 999 > dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024
2 nov. 2016 à 21:38
Bonjour

J'ai essayé ce code.
Ça ne marche pas et il y a quelque chose de bizarre.
Une fois que le script a été exécuté, si j'ouvre le document .bat j'ai ceci
chcp 1252
for /f "delims=" %%a In ('dir /b/a-d/s/a  "C:\Users\mougi\Desktop\dossier_sous_dossier_fichier" ') Do (
    set "$File=%%~nxa"
     set "$File=!$File:?=e!"
     ren "%%a" "!$File!"
    )


set "$File=!$File:é=e!" a été remplacé par set "$File=!$File:?=e!"
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
3 nov. 2016 à 09:48
manipuler les accents en DOS, c'est pourri
il faut faire attention à quel éditeur texte on utiise, quelles commandes DOS après chcp, etc
C:> dir > ééé
C:> dir /b
ééé
C:> chcp 1252
Page de codes activeá: 1252
C:> dir /b
ÚÚÚ
C:> chcp 850
Page de codes active : 850
C:> dir /b
ééé
0
DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 1 999
3 nov. 2016 à 10:10
Merci

:-)
0