command-line - ver - sintaxis de comandos cmd
Reemplazo de cadena en archivo por lotes (2)
Puede usar!, Pero debe tener el interruptor ENABLEDELAYEDEXPANSION establecido.
setlocal ENABLEDELAYEDEXPANSION
set word=table
set str="jump over the chair"
set str=%str:chair=!word!%
Podemos reemplazar cadenas en un archivo por lotes usando el siguiente comando
set str="jump over the chair"
set str=%str:chair=table%
Estas líneas funcionan bien y cambian la cadena "saltar sobre la silla" para "saltar sobre la mesa". Ahora quiero reemplazar la palabra "silla" en la cadena con alguna variable y no sé cómo hacerlo.
set word=table
set str="jump over the chair"
??
¿Algunas ideas?
Puedes usar el siguiente pequeño truco:
set word=table
set str="jump over the chair"
call set str=%%str:chair=%word%%%
echo %str%
La call
allí causa otra capa de expansión variable, por lo que es necesario citar los signos %
originales, pero todo funciona al final.