podrias explicarme que significa" & (CHCP 1252)1>NUL "
Hola.
El propósito de
{n}>NUL sirve para redireccionar un stream especifico de un comando o proceso, donde
{n} en este caso es "1", el buffer de salida (1 = STDOUT) y se redirecciona hacia "Nulo", es decir, nada, u oculto. Dicho de otra forma,
1>NUL sirve para ocultar el mensaje del comando. En otros casos podriamos usar
2>NUL para ocultar el mensaje de error (2 = STDERR), o
1>NUL 2>&1 para ocultar ambos, etc.
Sobre el comando
CHPC, bueno...
Cuando desconozcas el propósito de un comando, siempre puedes ver la ayuda del comando en la consola escribiendo "
/?" al final del nombre de dicho comando:
Esto nos mostrará lo siguiente:
Muestra o establece el número de la página de códigos activa.
CHCP [nnn]
nnn Especifica una página de códigos.
Escriba CHCP sin parámetro para mostrar el número de la página de códigos activa.
Y esto viene a decirnos, que el comando CHCP sirve para modificar el modo en el que la consola representa los caracteres en pantalla usando un código de páginas de Windows específico, o dicho de otra forma, un set de caracteres específico, en este caso CHCP 1252 corresponde a
Windows Latin 1 (ANSI):
Te preguntarás por que he usado el comando CHCP si parece que en tu script no haga falta usarlo, y en principio es verdad, simplemente lo utilizo en todos mis scripts para conservar las buenas costumbres, puesto que la consola o CMD por defecto utiliza el código de página
850 y esto no representa correctamente los caracteres del Castellano.
Te mostraré un ejemplo breve para que comprendas la diferencia:
Script.cmd
Resultado de ejecución:
áéíóú
ßÚݾ·
Presione una tecla para continuar . . .