Bonjour,
Je souhaiterais supprimer les espaces au début et à la fin d'une variable.
Exemple:
MA_VARIABLE=" tintin et milou "
je voudrais en sortie "tintin et milou"
Merci pour votre aide
Bonjour,
Je souhaiterais supprimer les espaces au début et à la fin d'une variable.
Exemple:
MA_VARIABLE=" tintin et milou "
je voudrais en sortie "tintin et milou"
Merci pour votre aide
Vous pouvez faire quelque chose comme ceou bien avec cette méthode en batch pur sans passer par un vbs
Code BAT : 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 @echo off Title Trimming une variable Set MA_VARIABLE=" tintin et milou " echo( echo Variable avec espaces MA_VARIABLE=%MA_VARIABLE% Call :Trim %MA_VARIABLE% MA_VARIABLE echo( echo Variable sans espaces MA_VARIABLE="%MA_VARIABLE%" pause>nul & exit Rem -------------------------------------------------------------- :Trim <Var> <NewVar> ( echo Wscript.echo Trim("%~1"^) )>"%tmp%\%~n0.vbs" for /f "delims=" %%a in ('Cscript /nologo "%tmp%\%~n0.vbs"') do ( set "%2=%%a" ) Del "%tmp%\%~n0.vbs" exit /b Rem --------------------------------------------------------------
Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 @echo off Title Trimming une variable Set MA_VARIABLE=" tintin et milou " echo( echo Avec espaces : MA_VARIABLE=%MA_VARIABLE% REM La commande FOR peut être utilisée pour supprimer en toute sécurité les guillemets entourant une chaîne. REM Si la chaîne n'a pas de guillemets, elle restera inchangée. for %%a in (%MA_VARIABLE%) do set MA_VARIABLE=%%~a REM Trim Left - Couper les espaces depuis le début d'une chaîne via la commande "FOR" for /f "tokens=* delims= " %%b in ("%MA_VARIABLE%") do set MA_VARIABLE=%%b REM Trim Right supprimer l'espace depuis la fin de la chaîne if "%MA_VARIABLE:~-1%"==" " set MA_VARIABLE=%MA_VARIABLE:~0,-1% echo( echo Sans espaces : MA_VARIABLE="%MA_VARIABLE%" pause>nul & Exit
Merci beaucoup hackoofr!
La petite méthode pour faire des sauts de ligne avec le "echo (" je ne l'avais pas dans mes archives![]()
Je vais retenir la méthode en batch pure! Au top!
Que j'ai modifié comme ci-dessous:
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 @echo off Title Trimming une variable Set MA_VARIABLE=" tintin et milou " echo( echo Avec espaces : MA_VARIABLE=%MA_VARIABLE% REM La commande FOR peut être utilisée pour supprimer en toute sécurité les guillemets entourant une chaîne. REM Si la chaîne n'a pas de guillemets, elle restera inchangée. for %%a in (%MA_VARIABLE%) do set MA_VARIABLE=%%~a REM Trim Left - Couper les espaces depuis le début d'une chaîne via la commande "FOR" for /f "tokens=* delims= " %%b in ("%MA_VARIABLE%") do set MA_VARIABLE=%%b REM Trim Right supprimer l'espace depuis la fin de la chaîne :loop if "%MA_VARIABLE:~-1%"==" " ( set MA_VARIABLE=%MA_VARIABLE:~0,-1% goto loop ) echo Sans espaces : MA_VARIABLE="%MA_VARIABLE%" pause>nul & Exit
Merci encore!
Hou lala vous compliquez les enfants !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 @echo off MA_VARIABLE=" tintin et milou " set MA_VARIABLE=%MA_VARIABLE:~1,-1% echo %MA_VARIABLE%![]()
Partager