如何在批处理脚本中查找 PC 名称?

Ror*_*ant 19 windows batch cmd.exe

我如何找到在其上运行我的批处理程序的 PC 的名称?

我想找到运行我的批处理程序并能够将其存储为变量的 PC 的名称。有什么帮助吗?

小智 29

在 Windows 上,通常已经设置了一个环境变量并可供您使用 -

echo %ComputerName%
Run Code Online (Sandbox Code Playgroud)

  • @VikasGupta 你可以只使用 `$env:computername` (也不区分大小写)。 (2认同)

dbe*_*ham 10

正如 Vikas Gupta 所回答的那样,您可以使用%COMPUTERNAME%已经包含计算机名称的预定义环境变量。从实际的角度来看,这应该就是您所需要的。

但是,批处理文件可能会覆盖该值,因此不能保证该值是正确的。

您可以使用 WMIC 直接读取计算机名称。

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

额外的 FOR 循环消除了不需要的回车字符,这些字符是 FOR /F 与 WMIC 的 Unicode 输出交互的产物。只有一个循环,每行末尾都有一个回车,这可能会导致问题。

  • 有没有理由使用 wmic 而不是仅仅调用“主机名”? (2认同)