Estoy intentando algo como:
set pwd = abc&123
echo password %pwd%
Obtengo el resultado como ...
'123' is not recognized as an internal or external command, operable program or batch file.
password abc
¿Es el sistema así o hay un escape para tales personajes?
windows
command-line
batch
deostroll
fuente
fuente
Respuestas:
Lo que debe hacer es ajustar su contraseña entre comillas dobles de la siguiente manera:
Déjame saber como va.
fuente
set "pwd=abc&123"
Descubrí que funciona mejor con una combinación de la respuesta de martineau y la respuesta de mastashake57.
Todavía falla, y
Agrega comillas (no puede eliminar las comillas con un
for
bucle o manipulación de cadena porque fallará nuevamente, gracias al ampersand), lo que no es tan bueno.Sin embargo,
Funciona perfectamente.
Espero que ayude.
fuente
pwd
enabc^&123
. La mayoría de las veces esto probablemente sea exactamente lo que necesita hacer, pero podría atraparlo si no está al tanto de lo que está sucediendo./?
solo se proporciona un resumen, no una documentación completa.Desde el archivo de ayuda de referencia de línea de comandos:
Parece que poner la contraseña completa entre comillas sería más fácil que escapar de los caracteres individuales si hay más de dos caracteres que necesitan el tratamiento.
fuente
Lo que realmente necesitas es:
O:
Explicación:
Como
&
es un personaje especial, debes escapar con él^
, lo que resulta en^&
.La ejecución
set pwd=abc^&123
establecerá la variable en el valorabc&123
. Después de eso, si tuviera que correrecho %pwd%
, está corriendo efectivamenteecho abc&123
.Sin embargo
echo abc&123
, no funciona como esperabas, porque&
es un personaje especial. Puede evitar esto agregando comillas:echo "abc&123"
pero su salida también tendrá los caracteres de comillas. En otras palabras, usar comillas no es exactamente una solución adecuada.Lo que necesita es escapar del
&
char cuando ejecuta elecho
comando:Entonces la variable necesita contener el valor
abc^&123
. Para establecer la variable en el valorabc^&123
, deberá escapar de los caracteres especiales^
y&
, como resultado:fuente