BATCH: pb d'enlevement de carractere a une varriable. - Shell/Batch - Programmation
Marsh Posté le 31-01-2007 à 12:01:22
Bonjour,
Ma première réaction a été de me dire que c'était impossible... et qu'il fallait écrire ceci :
@echo off
set valeur=%1
set dest=azertyuiopqsdfghjklmwxcvbn
if "%valeur%" equ "10" set toto=%dest:~0,-10%&pause
if "%valeur%" equ "9" set toto=%dest:~0,-9%&pause
if "%valeur%" equ "8" set toto=%dest:~0,-8%&pause
if "%valeur%" equ "7" set toto=%dest:~0,-7%&pause
if "%valeur%" equ "6" set toto=%dest:~0,-6%&pause
......
echo %dest%
echo %toto%
pause
Mais j'ai continué à chercher, et en fait, il suffit simplement d'utiliser l'expansion retardée des variables d'environnement de cette manière :
setlocal enabledelayedexpansion
set /a valeur=%1
set dest=azertyuiopqsdfghjklmwxcvbn
set toto1=!dest:~0,-%valeur%!
echo %toto1%
echo %dest%
endlocal
Marsh Posté le 29-01-2007 à 16:20:51
Bonjour @tous ....
torture neuronale en vue ... :
J'ai ce bout de script pour lequel je souhaite enlever a une varriable un nombre de carractere.
ex :
---------------------------- Debut --------------------------
@echo off
set dest=azertyuiopqsdfghjklmwxcvbn
set toto=%dest:~0,-10%
echo %toto%
pause
---------------------------- Fin------------------------------
resultat affichage :
-------------------------------------------------------------
azertyuiopqsdfgh
Appuyez sur une touche pour continuer...
-------------------------------------------------------------
ce qui est rechercher pour ce cas si on eleve -10 a la varriable.
sauf que se nombre de carractere que je soustrait n'est pas fixe : -10mais varriable %1
---------------------------- Debut --------------------------
@echo off
set dest=azertyuiopqsdfghjklmwxcvbn
set toto=%dest:~0,%1%
echo %toto%
pause
---------------------------- Fin------------------------------
pas de solution trouver ...
2 semaine dessu je ne trouve pas ...
une idée je prend
j'espere que sa en aidera d'autre ...
merci d'avance et bon surf
billou81.