Outils pour utilisateurs

Outils du site


informatique:microsoft:windows:set

SET

set permet de définir une variable, mais permet aussi la manipulation de chaines de caractères ou de faire des calcules d'expression.

Saisir une variable

set /p VAR=Entrer la variable ?

Saisir un mot de passe sans l'afficher dans la console (c'est un beaucoup plus sport). Il faut créer le script suivant :

@echo off
echo hP1X500P[PZBBBfh#b##fXf-V@`$fPf]f3/f1/5++u5x>in.com
set  /p password=Enter password:<nul
for /f "tokens=*" %%i in ('in.com') do set password=%%i
del in.com
echo.
echo The Password is:"%password%"
pause

opération mathématique

Pour calculer (2+2)x2

set /A (2+2)*2

Retirer les espaces blancs inutiles

Retirer les espaces inutiles du début

set str=               espace inutile a supprimer au debut
echo %str%
for /f "tokens=* delims= " %a in ("%str%") do set str=%a
echo %str%

Résultat:

               espace inutile a supprimer au debut
espace inutile a supprimer au debut

Retirer les espaces inutiles à la fin FIXME

 set str=espace inutile a supprimer a la fin               &rem
 echo "%str%"
 for /l %a in (1,1,31) do if "!str:~-1!"==" " set str=!str:~0,-1!
 echo "%str%"

Remplacer une chaine de caractères

Pour remplacer the par a, il faut définir le chaine dans une variable (ici STR) puis redéfinir la variable en remplaçant la chaine

set STR=the cat in the hat
echo %STR%
set STR=%STR:the=a%
echo %STR%

Resultat:

the cat in the hat
a cat in a cat

Retirer une chaine de caractères

Même chose que pour remplacer mais on ne met aucun caractère de remplacement

set STR=the cat in the hat
echo %STR%
set STR=%STR:the=%
echo %STR%

Resultat:

the cat in the hat
cat in cat

Afficher un certain nombre de caractères

Afficher les 4 premiers caractères de la chaine coucou

set str=coucou
echo %str%
set str=%str:~0,4%
echo %str%

Résultat:

coucou
couc

Afficher les 4 derniers caractères de la chaine coucou

set str=coucou
echo %str%
set str=%str:~-4%
echo %str%

Résultat:

coucou
ucou

Stocker le résultat d'une commande dans une variable

Pour stocker la date dans une variable nommée TODAY

for /F "tokens=1,2,3 delims=/" %a IN ('echo %date%') DO set TODAY=%c-%b-%a
informatique/microsoft/windows/set.txt · Dernière modification: 2018/09/06 19:10 (modification externe)