我如何找到运行批处理程序的 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
。