Nous pouvons remplacer des chaînes dans un fichier de commandes à l'aide de la commande suivante
set str="jump over the chair"
set str=%str:chair=table%
Ces lignes fonctionnent bien et modifient la chaîne "sauter par-dessus la chaise" pour "sauter par-dessus la table". Maintenant, je veux remplacer le mot "chair" dans la chaîne par une variable et je ne sais pas comment le faire.
set Word=table
set str="jump over the chair"
??
Des idées?
Vous pouvez utiliser!, Mais le commutateur ENABLEDELAYEDEXPANSION doit être réglé.
setlocal ENABLEDELAYEDEXPANSION
set Word=table
set str="jump over the chair"
set str=%str:chair=!Word!%
Vous pouvez utiliser le petit truc suivant:
set Word=table
set str="jump over the chair"
call set str=%%str:chair=%Word%%%
echo %str%
Le call
provoque une autre couche d'expansion variable, ce qui oblige à citer l'original %
signes mais tout fonctionne à la fin.