web-dev-qa-db-fra.com

Comment trouver le nom du PC dans un script batch?

Comment trouver le nom du PC exécutant mon programme de traitement par lots?

Je voudrais trouver le nom d'un PC qui exécute mon programme de traitement par lots et pouvoir le stocker en tant que variable. De l'aide?

13
Rory Durrant

Comme Vikas Gupta a répondu, vous pouvez utiliser la variable d’environnement %COMPUTERNAME% prédéfinie qui contient déjà le nom de l’ordinateur. D'un point de vue pratique, cela devrait être tout ce dont vous avez besoin.

Cependant, il est possible qu'un fichier de commandes écrase la valeur. Il n'est donc pas garanti que la valeur soit correcte.

Vous pouvez utiliser WMIC pour lire directement le nom de l'ordinateur.

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

La boucle FOR supplémentaire élimine les caractères de retour chariot indésirables qui sont un artefact de FOR/F interagissant avec la sortie Unicode de WMIC. Avec une seule boucle, un retour chariot à la fin de chaque ligne peut poser problème.

6
dbenham

Sous Windows, une variable d’environnement est déjà définie et disponible pour vous -

echo %ComputerName%
21
Vikas Gupta

Dans PowerShell, vous pouvez également utiliser:

[Environment]::MachineName

Ici, la valeur vient de .Net, ce qui évite d'utiliser $Env:ComputerName.

0
Stef