Renommer les dossiers et fichiers

Résolu
DelNC Messages postés 2360 Statut Membre -  
baladur13 Messages postés 47339 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.

1 réponse

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    pour que DOS reconnaisse les car. étendus, utiliser
    chcp 1252
    0
    1. DelNC Messages postés 2360 Statut Membre 2 010
       
      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
    2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      à 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
    3. DelNC Messages postés 2360 Statut Membre 2 010 > dubcek Messages postés 18627 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
    4. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      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
    5. DelNC Messages postés 2360 Statut Membre 2 010
       
      Merci

      :-)
      0