有谁能建议如何从这个Powershell代码中提取/获取COM值:
Get-WMIObject Win32_PnPEntity | where {$_.Name -like "Standard Serial over Bluetooth link*" -AND $_.DeviceID -like "*AB9078566C8A*"} |
>> Format-Table Name
目前的产出如下:
Name
----
Standard Serial over Bluetooth link (COM10)
我只想得到:
10
更新:
多亏了@
在PowerShell中,如何通过指定名称(字符串)来获取对象的属性值?我想要的东西如下所示:
$obj = get-something
# View the object's members:
$obj | gm
# I could retrieve a property by doing so:
write-host $obj.SomeProp
# But for many purposes, I would really want to:
write-host $obj | Get-PropertyByName "SomeProp"
在PowerShell中
在if中,PowerShell的语法是这样的:
if (<test1>)
{<statement list 1>}
[elseif (<test2>)
{<statement list 2>}]
[else
{<statement list 3>}]
另一个语法规则是,对于子表达式,需要使用括号,如下所示:
write-output (get-date)
因此,结合这两条规则,我希望对某些路径的测试需要用两组括号来编写,如下所示:
if ((Test-Path ...)) {
# do somethi
我想利用powershell在批处理脚本中进行一些简单的数学计算。我能够在批处理脚本中计算浮点除法
set numerator=3.5
for /f %%i in ('powershell 10/%numerator%') do (set result=%%i)
它正确地将result变量设置为2.85714285714286,但是我无法从批处理脚本中调用一个powershell命令,比如powershell [math]::max(3,4),它返回两个数字的最大值。呼叫
for /f %%i in ('powershell [math]::max^(3,4^)'