Nous pouvons remplacer des chaînes dans un fichier de commandes en utilisant la commande suivante
set str="jump over the chair" set str=%str:chair=table%
Ces lignes fonctionnent bien et changent la chaîne “saute 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 vous devez avoir le commutateur ENABLEDELAYEDEXPANSION défini.
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%
L’ call
là provoque une autre couche d’expansion variable, ce qui rend nécessaire de citer les signes %
origine, mais tout fonctionne à la fin.