如果它在笔记本电脑上运行,如何使用批处理文件来执行 X?

如果它在笔记本电脑上运行,如何使用批处理文件来执行 X?

如何编写批处理文件以根据是在台式机还是笔记本电脑上运行来执行不同的操作?例如,如果在台式机上运行,​​则安装 x。如果在笔记本电脑上运行,则跳过 x 并安装 y。

编辑:Windows 7 64 位专业版。处于域基础架构设置中。

我正在尝试使用同步命令编写一个批处理文件,将其包含在 unattend.xml 中。理想情况下,批处理文件将检测计算机是否为台式机系统,并继续安装为台式机设计的 LANDESK 代理,或者如果计算机是笔记本电脑,则继续安装 LANDESK 代理的笔记本电脑版本。

答案1

我真的很怀疑您是否可以使用批处理脚本来做到这一点。

如果你使用 PowerShell 之类的东西,有很多选择,但没有一个是完全可靠的。例如,有 WMI 类用于系统机柜电池。 有一个Technet 博客文章显示了如何使用这两者:

Function Get-Laptop
{
 Param(
 [string]$computer = "localhost"
 )
 $isLaptop = $false
 if(Get-WmiObject -Class win32_systemenclosure -ComputerName $computer |
    Where-Object { $_.chassistypes -eq 9 -or $_.chassistypes -eq 10 `
    -or $_.chassistypes -eq 14})
   { $isLaptop = $true }
 if(Get-WmiObject -Class win32_battery -ComputerName $computer)
   { $isLaptop = $true }
 $isLaptop
} # end function Get-Laptop

# *** entry point to script ***

If(get-Laptop) { "it's a laptop" }
else { "it's not a laptop"}

相关内容