Powershell 有人能解释一下原因吗?
这是我的代码。Powershell 有人能解释一下原因吗?,powershell,Powershell,这是我的代码。$test和$strstring都是填充字符串的数组(从屏幕截图中可以看到),但是程序显示了$test的对象[]和$strlist的字符串[],但是字符串是相同的,那么产生“false”结果的原因是什么呢 如果通过$list | Set Content test.txt获得$test,则创建这些对象的方式不正确,您依赖于format table的输出,然后按'r'拆分,从而删除一个字符。这意味着两个字符串不相同。参见长度 一种方法是: $list= (get-wmiobject -
$test
和$strstring
都是填充字符串的数组(从屏幕截图中可以看到),但是程序显示了$test
的对象[]
和$strlist
的字符串[]
,但是字符串是相同的,那么产生“false”结果的原因是什么呢
如果通过
$list | Set Content test.txt
获得$test
,则创建这些对象的方式不正确,您依赖于format table的输出,然后按'r'拆分,从而删除一个字符。这意味着两个字符串不相同。参见长度
一种方法是:
$list= (get-wmiobject -Class win32_product).name
$list | set-content d:\temp\test.txt
$test= gc d:\temp\test.txt
$list[0] -like $test[0]
'-{0}-'-f$test[1]
和'-{0}-'-f$strlist[1]
的输出是否相同?[char[]]$test[1]|%{[int]$}
和[char[]]$strlist[1]|%{[int]$}
的输出是否相同?是和是,但是GetHashed代码对它们来说是不同的(我搜索了一点,发现对于相同的字符串值,它们的哈希代码必须是相同的,对吗?)您能否发布有关如何获得$test
和$strlist
的信息?另外,您可以发布从($test[1].GetEnumerator()|%{[int]$})-join'-'
和从($strlist[1].GetEnumerator()|%{[int]$})-join'-
获得的精确值。我猜$test[1].Length-eq$strlist[1]。Length
返回False
(在终止回车时,值13
)是有区别的。请回答您的问题。注释中的代码实际上是不可读的。而且,考虑到这些代码,我最初的注释中的代码片段显然不可能为$test[1]
和$list[1]
产生相同的输出。非常感谢
$list= (get-wmiobject -Class win32_product).name
$list | set-content d:\temp\test.txt
$test= gc d:\temp\test.txt
$list[0] -like $test[0]