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 :

Encoder un fichier .txt oem en ansi [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 126
    Par défaut Encoder un fichier .txt oem en ansi
    Bonjour

    Dans le répertoire se trouvent deux fichiers:

    Encoder (Drag and Drop here).bat (1 Ko)
    oem2ansi.exe (68 Ko) qui se trouve ici : http://kazus.ru/programs/viewdownloa.../lid_3297.html

    Encoder (Drag and Drop here).bat me permet d'encoder un fichier A.txt (oem) en fichier B.txt (ansi) par glisser / déposer afin de retrouver les caractères accentués et spéciaux.

    Code Batch : 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
    @echo off
    title Encoding OEM 2 ANSI 
    mode 100,30
    echo.
    setlocal enabledelayedexpansion
    set "working_folder=%~dp0"
    if not "%~1"=="" (
    if exist "%~1" (
    set "glisser_deposer=%~f1"    
        )
    )
    if not "%glisser_deposer%"=="" (
        if exist "%glisser_deposer%\*" (
     
            set "working_folder=%glisser_deposer%"
     
        )
    )
     
    pushd "%working_folder%"
    echo Chemin et fichier actuels : "%~1"
    echo.
    pause
    oem2ansi.exe "%~1" "%~n1_encoded.txt"

    Problème:

    Le fichier A.txt (oem) qui se trouve dans un autre répertoire est encodé mais généré en fichier B.txt (ansi) dans le répertoire du batch.

    Je voudrais que le fichier B.txt (ansi) soit généré dans le même répertoire que le fichier A.txt (oem)

    Est-ce possible ?

    Merci de bien vouloir m'aider.

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 549
    Par défaut
    Salut tease,

    Je te donne un indice : il faut remplacer un zéro par un 1

  3. #3
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 126
    Par défaut
    Bonjour barnabe0057

    Merci d'avoir répondu à mon appel.

    D'après ton indice, j'ai remplacé le 0 par 1 dans la commande de la ligne 6:

    set "working_folder=%~dp0" --> set "working_folder=%~dp1",

    Cependant le problème n'a pas changé:

    lorsque je dépose le fichier A.txt (oem) (répertoire A) sur le batch (répertoire B), le fichier B_encoded.txt (ansi) est généré dans le répertoire B.

    Que faut-il ajouter ou modifier dans le batch pour que le fichier A.txt (oem) et le fichier B_encoded.txt (ansi) soient dans le même répertoire A ?

    Exemple:

    Liste.txt (oem) dans le répertoire A

    Liste_encoded.txt (ansi) dans le répertoire A

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 549
    Par défaut
    Tu as fait la modification qu'il fallait : set "working_folder=%~dp0" --> set "working_folder=%~dp1".

    Je ne sais pas quoi te dire, j'ai testé chez moi ça fonctionne comme attendu.

  5. #5
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 126
    Par défaut
    Re.

    Bizarre que ça ne marche pas chez moi.

    Ce qui marche c'est lorsque le fichier A.txt (oem) et le batch sont dans le même répertoire.

    Merci.

    Je vais voir ce qui ne cloche pas.

  6. #6
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 126
    Par défaut
    Bonjour.

    Comme la solution donnée par barnabe0057 (que je salue et remercie au passage) n'a pas fonctionné CHEZ MOI et après plusieurs essais, j'ai enfin résolu MON PROBLÈME.

    J'ai dû ajouter une commande set "output_folder=%~dp1" et modifier une ligne oem2ansi.exe "%~1" "%output_folder%%~n1_encoded.txt".

    Le script:

    Code Batch : 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
    @echo off
    title Encoding OEM 2 ANSI 
    mode 100,30
    echo.
    setlocal enabledelayedexpansion
    set "working_folder=%~dp0"
    if not "%~1"=="" (
    if exist "%~1" (
    set "glisser_deposer=%~f1"    
        )
    )
    if not "%glisser_deposer%"=="" (
        if exist "%glisser_deposer%\*" (
    
            set "working_folder=%glisser_deposer%"
    
        )
    )
    
    pushd "%working_folder%"
    echo Chemin et fichier actuels : "%~1"
    set "output_folder=%~dp1"
    echo.
    pause
    oem2ansi.exe "%~1" "%output_folder%%~n1_encoded.txt"

    Bonne journée et merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Encoder un fichier txt en utf-8 lors de sa creation
    Par diane74 dans le forum SAS Base
    Réponses: 1
    Dernier message: 06/01/2015, 15h48
  2. [Python 2.X] Unicode Encode Error en ecriture fichier txt
    Par Thierry_V dans le forum Général Python
    Réponses: 7
    Dernier message: 08/07/2014, 19h26
  3. [XL-2010] Fichier .txt ; enregistrer en ANSI
    Par QuentinR dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/10/2013, 01h42
  4. Convertir un fichier texte de OEM vers ANSI
    Par paix02200 dans le forum VBA Access
    Réponses: 1
    Dernier message: 20/08/2007, 15h15
  5. communication fichier binaire fichier txt
    Par micdie dans le forum C
    Réponses: 3
    Dernier message: 05/12/2002, 00h19

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