Remplacer % par %%

Résolu
HamsterNinja Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
HamsterNinja Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

6 réponses

barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
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
fabul Messages postés 40784 Date d'inscription   Statut Modérateur Dernière intervention   5 692
 
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
HamsterNinja Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Malheureseument, cela ne se fait pas en batch, c'est a l utilisateur de le faire manuellement, mais merci quand meme.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 636
 
hello
essayer avec
set var=%var:^%=%%% 
0
HamsterNinja Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Ç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
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 636
 
y pas de % dans exemple !!
set var=%var:^%=%%% ........ remplace % par %%
REM si l utilisateur tape %, j aimerais que ca en fasse deux
0
HamsterNinja Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   > dubcek Messages postés 18789 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
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 636
 
je ne comprends pas ce que tu veux
0
HamsterNinja Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   > dubcek Messages postés 18789 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
HamsterNinja Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Whao ! Merci infinimenr! ! Mais pourrais tu me dire ce que signifie chcp et que veux tu dire par il faut tout revoir?
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
HamsterNinja Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Ah ok merci ! C'est pas grave si c'est compliqué.
0
HamsterNinja Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
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
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
C'est un genre d'interface pour écrire des scripts ? Un IDE comme Powerbatch ?
0
HamsterNinja Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Ouais une genre d interface pour pas a avoir a mettre des echo et des >> fichier.bat à chaque ligne
0