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

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

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

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

答案1

正如 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"

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

答案2

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

echo %ComputerName%

答案3

在 PowerShell 中,您还可以使用:

[Environment]::MachineName

这里的值来自.Net,因此避免了使用的问题$Env:ComputerName

相关内容