IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Remplacer plusieurs caractères comme é par é


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juillet 2016
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Juillet 2016
    Messages : 42
    Par défaut Remplacer plusieurs caractères comme é par é
    Bonjour,

    Dans plusieurs centaine de fichiers txt et j'ai un problème d'encodage. Les caractères spéciaux sont changés par des:
    é correspond é
    É correspond é
    Â correspond â
    ç correspond ç

    Est-il possible de faire un batch pour corriger le tout en une seule fois ?

    J'ai essayé de changer l'encodage des fichiers mais rien n'y fait...

    Merci.

    Jean

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Pose l'un de tes fichiers à problème cela pourrait nous aider

  3. #3
    Membre averti
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juillet 2016
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Juillet 2016
    Messages : 42
    Par défaut
    Bonjour,

    Voici un petit fichier avec les principaux cas relevés. J'ai noté que certains caractères speciaux étaient bien encoder alors que d'autres non et c'est la raison pour laquelle je veux effectuer des remplacements par batch des caracteres speciaux fautifs.

    Merci.
    Fichiers attachés Fichiers attachés

  4. #4
    Membre émérite Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Par défaut
    Bonjour,
    Tu peux déjà convertir (et enregistrer) ton fichier en ANSI ce qui te donnera ceci:
    Nom : Capture.JPG
Affichages : 2489
Taille : 28,6 Ko

  5. #5
    Membre averti
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juillet 2016
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Juillet 2016
    Messages : 42
    Par défaut
    Bonjour,

    Merci cela fonctionne avec bon nombre de caractères mais certains ne fonctionnent pas comme par le é qui est maintenant remplacer par Xe9

    Que puis-je faire pour celui-ci ?

    Merci

  6. #6
    Membre émérite Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Par défaut
    D'où vient ce fichier?
    Comment a-t-il été généré?

  7. #7
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    En batch ça sera compliqué de faire quelques choses mais nous pouvons le faire en PowerShell (fichier .ps1).
    Si cela te convient il n'y a plus qu'a ajouter tout les caractères que tu souhaites dans le tableau $values et demander la modification sur tous les fichiers

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    # Fonction qui remplace les caractères souhaité
    function CorrigeFile($fichier)
    {
        # Définit les caractères à remplacer
        $values = @(
        ("ï", "ï"),
        ("è", "è"),
        ("Ê", "Ê"),
        ("Ç", "Ç"),
        ("ë", "ë"),
        (`””, "Ô"),
        ("ô”, "ô"),
        ("î", "î")
        )
     
        $ct = Get-Content -encoding UTF8 -Path $fichier
        foreach($item in $values)
        {
            $ct = $ct -replace $item[0], $item[1]
        }
        Set-Content -Encoding Default -Path $fichier -Value $ct
    }
     
    # Appel de la fonction
    CorrigeFile("C:\Users\moi\Desktop\new.txt")

    new.txt - avant :
    Mr;Laporte; Michel;64;Hebraïques;
    Mrs;Placard; Mauricette;70;Hebraïques
    Mrs;Divertir; Marie-Thérèse;67;;
    Mr;Coulpable; Jérôme;;Grecs
    Mr;CHÊNES; Jean-Paul;61;Américains,
    M;FRANÇOIS; Raphaël;25;Hebraiques
    Mme/M;Mobile; Yaël;13;Hebraiques
    Mr;SAÔNE;Alain;59;Iraniens, persans
    Mr;Dupuis; Benoît;35;Latins
    new.txt - après :
    Mr;Laporte; Michel;64;Hebraïques;
    Mrs;Placard; Mauricette;70;Hebraïques
    Mrs;Divertir; Marie-Thérèse;67;;
    Mr;Coulpable; Jérôme;;Grecs
    Mr;CHÊNES; Jean-Paul;61;Américains,
    M;FRANÇOIS; Raphaël;25;Hebraiques
    Mme/M;Mobile; Yaël;13;Hebraiques
    Mr;SAÔNE;Alain;59;Iraniens, persans
    Mr;Dupuis; Benoît;35;Latins
    PS : Je ne sais pas ce que signifie la , dans Américains,

Discussions similaires

  1. [Centos 5] Script Shell remplacement de caractère et envoie par FTP
    Par _shuriken_ dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 07/05/2015, 19h23
  2. Réponses: 5
    Dernier message: 08/09/2014, 15h07
  3. [XL-2010] Problème pour remplacer plusieurs caractères avec Mid
    Par PPN83 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/10/2013, 16h52
  4. Remplacer plusieurs caractères
    Par mehdi.cheddani dans le forum Développement Windows
    Réponses: 5
    Dernier message: 04/10/2013, 02h04
  5. Comment remplacer plusieurs caractères dans une chaîne?
    Par Antigonos Ier Gonatas dans le forum Général Python
    Réponses: 5
    Dernier message: 16/06/2006, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo