Como encontrar o nome dos PCs em um script em lote?

9

Como eu encontraria o nome do PC executando meu programa em lote?

Eu gostaria de encontrar o nome de um PC que está executando meu programa em lote e ser capaz de armazená-lo como uma variável. Alguma ajuda?

    
por Rory Durrant 14.12.2014 / 10:26

3 respostas

6

Como Vikas Gupta respondeu, você pode usar a variável de ambiente %COMPUTERNAME% pré-definida que já contém o nome do computador. De um ponto de vista prático, isso deve ser tudo que você precisa.

No entanto, é possível que um arquivo em lote sobreponha o valor, por isso não é garantido que o valor esteja correto.

Você pode usar o WMIC para ler diretamente o nome do computador.

for /f "skip=1 delims=" %%A in (
  'wmic computersystem get name'
) do for /f "delims=" %%B in ("%%A") do set "compName=%%A"

O loop FOR extra elimina caracteres indesejados de retorno de carro que são um artefato de FOR / F interagindo com a saída Unicode do WMIC. Com apenas um loop, há um retorno de carro no final de cada linha que pode causar problemas.

    
por 14.12.2014 / 12:45
19

No Windows, normalmente uma variável de ambiente já está definida e disponível para você usar -

echo %ComputerName%
    
por 14.12.2014 / 12:15
0

No PowerShell, você também pode usar:

[Environment]::MachineName

Aqui, o valor vem do .Net, evitando assim o uso de $Env:ComputerName .

    
por 28.07.2017 / 21:09