Remplacer % par %%

Résolu
HamsterNinja Messages postés 12 Statut Membre -  
HamsterNinja Messages postés 12 Statut Membre -
Le titre n'est pas tres clair mais en resume, je voudrais savoir comment on fait pour transformer un "%" en deux "%%".
Code :
@echo off
set /p var=
REM si l utilisateur tape %, j aimerais que ca en fasse deux
set var=%var:%=%%%
echo %var%
J espere que vous comprendrez.
Je cherche a remplacer des caractères par d autres, de cette façon.
Si je veux remplacer les "a" dune variable par b par exemple je ferais ceci:
set var=%var:a=b%
Mais ca marche pas avec les pourcentages (je me doutais bien), et j'ai pas trouve de solution.
Merci d'avance

6 réponses

  1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
     
    Voilà la solution :
    @echo off
    setlocal enableextensions enabledelayedexpansion
    chcp 65001 >nul

    set /p "moncode=Tapez votre code: "
    set moncode=!moncode:%%=%%%%!
    echo !moncode! > 0000.txt

    Même si je ne comprends pas exactement ton but final, je peux dire que ta méthode n'est certainement pas la bonne, il faut tout revoir.

    1
  2. fabul Messages postés 42169 Date d'inscription   Statut Modérateur Dernière intervention   6 069
     
    Salut,

    Si tu peux, utilises le notepad (Ctrl + H)

    Sinon une variable de commande comme % à répliquer en utilisant la même variable, je sais pas comment.

    D'autres qui s'y connaissent plus te le diront peut être.
    0
    1. HamsterNinja Messages postés 12 Statut Membre
       
      Malheureseument, cela ne se fait pas en batch, c'est a l utilisateur de le faire manuellement, mais merci quand meme.
      0
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    essayer avec
    set var=%var:^%=%%% 
    0
    1. HamsterNinja Messages postés 12 Statut Membre
       
      Ça ne marche pas, si je fais echo %var% apres, il m affiche la valeur avec un % apres.
      Ex:
      set var=%%exemple%%
      set var=%var:^%=%%%
      echo %var%
      pause > nul
      Il m affiche exemple%
      0
    2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      y pas de % dans exemple !!
      set var=%var:^%=%%% ........ remplace % par %%
      REM si l utilisateur tape %, j aimerais que ca en fasse deux
      0
    3. HamsterNinja Messages postés 12 Statut Membre > dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Ah pardon je me suis trompe :) Mais ça fait la même chose avec des %. Si il n y en a pas dans la valeur, ça en met un après, même chose s il y a des %.
      0
    4. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      je ne comprends pas ce que tu veux
      0
    5. HamsterNinja Messages postés 12 Statut Membre > dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Ce sera plus simple avec un exemple :
      @echo off
      set /p var=
      COMMANDE POUR TRANSFORMER UN % EN DEUX %
      echo %var%>>var.txt
      Jaimerais que si l utilistateur tape par exemple %bonjour% dans le set /p, au lieu que ça écrive %exemple% dans var.txt, j aimerais que ça ecrive %%exemple%% dans var.txt, que ca double les %. Cest plus clair ?
      0
  4. HamsterNinja Messages postés 12 Statut Membre
     
    Whao ! Merci infinimenr! ! Mais pourrais tu me dire ce que signifie chcp et que veux tu dire par il faut tout revoir?
    0
    1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
       
      CHCP signifie "Change Codepage" cela permet de modifier l'encodage des caractères.

      Quand je dis "il faut tout revoir" je pense que ta façon de faire est inutilement compliqué, il doit y avoir un moyen plus simple mais je n'ai pas assez d'informations sur ton projet.
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. HamsterNinja Messages postés 12 Statut Membre
     
    Ah ok merci ! C'est pas grave si c'est compliqué.
    0
  7. HamsterNinja Messages postés 12 Statut Membre
     
    Mon projet est que tout ce que j écris dans un set /p va être transféré dans un autre fichier entoure d un echo et d un >> fichier.bat, c'est tout. Ex: echo (le texte que j ai ecrit) >> fichier.bat
    0
    1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
       
      C'est un genre d'interface pour écrire des scripts ? Un IDE comme Powerbatch ?
      0
    2. HamsterNinja Messages postés 12 Statut Membre
       
      Ouais une genre d interface pour pas a avoir a mettre des echo et des >> fichier.bat à chaque ligne
      0