11

Как мне найти имя ПК, на котором запущена моя пакетная программа?

Я хотел бы найти имя ПК, на котором запущена моя пакетная программа, и иметь возможность сохранить его как переменную. Любая помощь?

3 ответа3

20

В Windows обычно переменная среды уже установлена и доступна для использования -

echo %ComputerName%
6

Как ответил Викас Гупта, вы можете использовать предопределенную переменную среды %COMPUTERNAME% которая уже содержит имя компьютера. С практической точки зрения, это должно быть все, что вам нужно.

Однако для пакетного файла возможно перезаписать значение, поэтому не гарантируется, что значение будет правильным.

Вы можете использовать WMIC для непосредственного чтения имени компьютера.

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

Дополнительный цикл FOR устраняет нежелательные символы возврата каретки, которые являются артефактом FOR /F, взаимодействующим с выводом Unicode WMIC. Только с одной петлей есть возврат каретки в конце каждой строки, что может вызвать проблемы.

0

В PowerShell вы также можете использовать:

[Environment]::MachineName

Здесь значение взято из .Net, поэтому оно избегает проблемы использования $Env:ComputerName .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .