Estoy teniendo problemas para establecer el valor dentro de if block. Por favor considere el siguiente código:
\ mytool.bat
@echo off
if not "%adder%" == "" (
set val=%val%;%adder%
) else (
echo please set adder first
)
echo value="%val%"
Ahora cuando ejecuto lo siguiente a través de cmd:
set adder=a(bc)d
mytool
Me da error es decir
d was unexpected at this time.
Por otro lado, seguir funciona
set adder=abcd
mytool
con salida value=";abcd"
quiero el comportamiento similar incluso cuando adder
tengo paréntesis.
También probé esto . Pero solo persisten los cambios en la variable val dentro del lote.
Hasta donde puedo ver, la respuesta aceptada en el enlace de David Postill en su pregunta anterior trata adecuadamente el problema. ¿Por qué no te funcionó?
—
AFH
¿Por qué no te deshaces de los paréntesis y los usas
—
AFH
goto
en su lugar? No es exactamente ordenado, pero evita el problema.
@AFH Sí, goto podría hacerlo. pero tendría que cambiar tanto código en mi lote real para implementarlo. Y en realidad la respuesta de David lo resolvió.
—
afzalex