Estoy escribiendo un script que es responsable de leer la salida del comando desde la terminal de Windows.
La intención es leer la salida de la línea de comando usando el comando " sc query <service_name>
" y, según la expresión regular, consumir y reenviar datos más concisos al usuario.
El problema es que, dado el idioma del usuario, el contenido de salida puede cambiar por completo. No debería escribir un script que interprete " sc query
" en todos los idiomas posibles. Es mejor establecer un idioma común antes de ejecutar el script, para poder trabajar en un único formato de salida, sin importar el idioma del usuario.
Lo primero que aparece al buscar es el chcp
comando " ". Pero a mi no me funciona, y eso no va mucho más cuando busco cuando el comando no funciona.
Puede consultar en la pantalla de impresión mis pruebas para cambiar el idioma (dos veces) y una muestra del servicio de salida en portugués.
Ejemplo de resultado de la prueba sobre cómo cambiar el idioma cmd mediante chcp:
¿Lo que necesito hacer? ¿Existe alguna otra forma de cambiar el idioma de cmd o necesito hacer algo más para que el chcp
comando funcione?
Respuesta1
¿Qué tienes en mente? No tengo idea, pero entiendo que la salida del SC
comando se realizará en inglés en los elementos que describen el estado de los procesos en cualquier idioma en el que se encuentre el sistema, lo que sugiero hacer algo que intercepte la salida. de forma predictiva a posibles estados, y transformar/traducir al lenguaje deseado.
Respuesta2
CHCP
cambia la codificación, no el idioma. No hay ningún comando para hacer eso. Si ha instalado varios idiomas, tiene un icono para cambiar el idioma en el área de Notificación del sistema.
Entonces este comando no hace lo que creo. ¿Por qué no hace lo que pienso?
Respuesta3
Mi enfoque sugerido, encontrado en unAsí que responda a una pregunta relacionada., Es paraapuntar a cosas muy específicas que son independientes de la configuración regional. En este caso, para obtener el estado del servicio de sc.exe
, el objetivo es obtener el número entero que identifica el estado (que resultó ser independiente del lenguaje activo y, por lo tanto, robusto).
Ejemplo breve (detalles adicionales en la respuesta vinculada):
for /F "skip=3 tokens=3" %%i in ('""%windir%\system32\sc.exe" query "W32Time" 2^>nul"') do (
if "%%i"=="4" (
echo 'W32Time' service is running
goto :SkipRemainingIterations
)
)
:SkipRemainingIterations
Respuesta4
Para cambiar el idioma de la terminal CMD cuando el comando "chcp" no funciona, puedes probar los siguientes pasos:
Abra la terminal CMD: Inicie la terminal CMD en su computadora con Windows.
Verifique la configuración de idioma: confirme la configuración de idioma actual de su sistema operativo. Vaya al "Panel de control" o "Configuración" y navegue hasta las opciones "Idioma" o "Región". Asegúrese de que el idioma deseado esté seleccionado como idioma predeterminado.
Modificar la configuración regional del sistema: si el cambio de idioma no se refleja en CMD, es posible que deba modificar la configuración regional del sistema. En la configuración de idioma, busque la pestaña "Administrativo" o "Avanzado". Ubique la opción "Cambiar configuración regional del sistema" y seleccione el idioma deseado. Esto cambiará la configuración de idioma para programas que no son Unicode.
Reinicie la computadora: después de modificar la configuración regional del sistema, se recomienda reiniciar su computadora. Esto asegurará que los cambios de idioma surtan efecto.
Siguiendo estos pasos, debería poder cambiar el idioma del terminal CMD.