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 :

Convertir une chaine en hexadécimale [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de Bric-a-brac
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Mars 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Mars 2017
    Messages : 14
    Par défaut Convertir une chaine en hexadécimale
    Bonjour,

    Je ne connais que quelques rudiments en Batch, mais je l’utilise pour passer des Paramètres d’un programme à un autre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set PARAMETRES = %1
    "c:\...\Programme1.exe" /x/PARAMETRES "c:\...\Programmes1.exe"
    Mon souci est que, dans PARAMETRES certains caractères ne passent pas comme je le souhaite.

    Est-il possible (et comment) en batch de remplacer l’ensemble des caractères d’une chaine par leur code hexadécimale.
    PARAMETRES = Monparamètre deviendrait PARAMETRES = 0x4d0x6f0x6e0x700x610x720x610x6d0xe80x740x720x65
    (ou M=0x4d o=0x6f etc …)

    Merci

  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

  3. #3
    Membre averti Avatar de Bric-a-brac
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Mars 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Mars 2017
    Messages : 14
    Par défaut
    Merci, je regarde ça demain

  4. #4
    Membre averti Avatar de Bric-a-brac
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Mars 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Mars 2017
    Messages : 14
    Par défaut
    Bonjour,

    Je dois avouer que j’étais impatient, de me lancer dans les tests ce matin … Ça tombe bien je suis matinal

    Le batch proposé fonctionne parfaitement lorsque l’on est sous Dos par contre si je fais clic droit sur un fichier .txt et ouvrir avec le batch … Erreur « de droit d’accès »

    En effet sous dos les fichiers temporaires sont créés dans le dossier courant du batch, hors dans cas du clic droit ouvrir avec la batch, le dossier courant est "c:\windows\system32\" je ne sais pas vraiment pourquoi d’ailleurs mais l'erreur vient de là

    Pour contourner ce problème j’ai ajouté %temp% pour la lecture et l’écriture des fichiers temporaires chr.tmp et zero.tmp.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @echo off
    setlocal EnableDelayedExpansion
    set /P "=%~1" < NUL > %temp%\chr.tmp
    for %%a in (%temp%\chr.tmp) do fsutil file createnew %temp%\zero.tmp %%~Za > NUL
    set "hex="
    for /F "skip=1 tokens=2" %%a in ('fc /B %temp%\chr.tmp %temp%\zero.tmp') do set "hex=!hex!%%a"
    del %temp%\chr.tmp %temp%\zero.tmp
    echo %hex%
    Et voilà le résultat ça fonctionne nickel, merci à ericlm128 et Aacini (l'auteur original du batch) pour votre aide.

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

Discussions similaires

  1. Réponses: 16
    Dernier message: 01/09/2008, 20h25
  2. Réponses: 3
    Dernier message: 03/01/2006, 23h14
  3. [C#] Convertir une chaine accentue => sans accents
    Par alex57 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/09/2005, 09h21
  4. Convertir une chaine en format heure
    Par Lars dans le forum ASP
    Réponses: 3
    Dernier message: 24/05/2005, 11h44
  5. Convertir une chaine UTF8 en ISO-8859-1
    Par eods dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 26/08/2004, 16h57

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