Como posso obter a localidade do sistema no Windows 7?
Quero dizer algo como: cs_CZ.UTF-8
Eu tentei escrever "locale" na linha de comando, mas isso não funciona no Windows. Alguma sugestão?
windows
localization
utf-8
Richard Knop
fonte
fonte
systeminfo.exe
por si só funciona, assim como a resposta do gWaldo no PSGet-UICulture
ouGet-Host
no PowerShell(capitalização opcional)
fonte
Se você precisar que o código do idioma real faça outras coisas condicionalmente em um arquivo em lotes, poderá criar um arquivo em lotes (salvar um arquivo de texto como extensão .bat) com o seguinte. Como ponto de partida, isso será impresso no prompt de comando, por exemplo, "en-us" (sem aspas) Você também pode usar a variável! VERBOSE_SYSTEM_LOCALE! para o local legível por humanos, por exemplo, inglês (Estados Unidos)
fonte
De fato, suas propostas falham porque dependem da pesquisa de uma string (" Localização do Sistema ") que muda dependendo da localidade atual! No meu Win10Pro francês, a string é " Option régionale du système " (com letra acentuada, que é muito difícil de manusear corretamente em um arquivo CMD).
Eu fiz alguns testes e parece, no MEU sistema, que as linhas sobre a localidade na saída systeminfo são as únicas que contêm um caractere ponto-e-vírgula (";"):
Com base nisso (o que NÃO pode ser verdade em outros sistemas com idiomas diferentes), codifiquei esse script get_locale.cmd :
O resultado do meu script no MEU sistema é:
Entretanto, esteja avisado de que as três variáveis de ambiente existem apenas dentro do script, elas NÃO persistem no ambiente CMD após o término do script (nenhum comando de exportação como no * nix).
fonte
eu de novo.
Eu descobri um leve aprimoramento no meu script. Usando o SETX, pode-se armazenar variáveis de ambiente no ambiente USER para futuras janelas CMD (como indicado em SETX /? Segundo comentário).
Em seguida, o script get_locale.cmd se torna:
Para a variável VERBOSE_SYSTEM_LOCALE, como o valor possui possivelmente várias palavras, é necessário agrupar %% C entre aspas para que o SETX receba apenas um parâmetro conforme o esperado.
Agora, em qualquer nova janela do CMD, esses valores estarão disponíveis:
PS: Seria bom se outros colaboradores de outros países com outros idiomas pudessem confirmar que procurando por ponto-e-vírgula ';' funciona em seus sistemas Windows. Desde já, obrigado!
fonte
System Locale: en-gb;English (United Kingdom)