通过使用Out-String,您可以将gwmi win32_bios | select serialnumber
的输出转换为字符串并将其存储在$sn
中。所以,现在$sn
将具有以下内容:
PS> $sn
serialnumber
------------
xxxxxxx
所以,$sn.length
正显示出你这整个字符串的长度。如果您只想将其更改为序列号:
PS> $sn = gwmi win32_bios | select -Expand serialnumber | out-string
PS> $sn
xxxxxxx
PS> $sn.Length
9
正如您所见,我的序列号(我删除了原始文件)只有7个字符宽。但是,$sn.length
显示9.输出后可能有一对隐藏的字符。在控制台输出后,我可以看到一个空行。
即将到来的这个空间是由Out-String
添加。所以,你甚至不需要这个。你可以这样做:
PS> $sn = gwmi win32_bios | select -Expand serialnumber
PS> $sn
XXXXXX
PS> $sn.Length
7
$sn
仍然是一个字符串。
PS> $sn.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
嗨:)。非常感谢你提供了另一个很好的答案。对不起,延迟,但我花了一个短暂的假期:) – 2011-06-03 21:34:39
很高兴我可以再次帮助! :)我也只是从假期回来。 – ravikanth 2011-06-12 14:07:39