Renommer les dossiers et fichiers

Résolu
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   -  
baladur13 Messages postés 47724 Date d'inscription   Statut Modérateur Dernière intervention   -
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.
A voir également:

1 réponse

dubcek Messages postés 18788 Date d'inscription   Statut Contributeur Dernière intervention   5 632
 
hello
pour que DOS reconnaisse les car. étendus, utiliser
chcp 1252
0
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   2 004
 
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 18788 Date d'inscription   Statut Contributeur Dernière intervention   5 632
 
à 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   Statut Membre Dernière intervention   2 004 > dubcek Messages postés 18788 Date d'inscription   Statut Contributeur Dernière intervention  
 
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 18788 Date d'inscription   Statut Contributeur Dernière intervention   5 632
 
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   Statut Membre Dernière intervention   2 004
 
Merci

:-)
0