EngConI需要帮助从Select-String
命令获取信息。我需要找到来自$array
的哪些项目在engcon.pbo
文件中。如果发现的结果显示在控制台上,或者更好,在.txt文件中,这将是最有用的。Powershell“select-string”阅读信息
在全码,也有在阵列中297项(#0和#295在内)。
######
#Mine#
######
$TargetFile = "C:\PowershellScripts\EngCon.pbo"
$array = @("Comprehension", "Outspeed", "Marsileaceae", "Chalybeate")
$i = 0
while ($i -le 295)
{
$SearchString = $array[$i]
Select-String $TargetFile -pattern $SearchString
$i = $i + 1
}
#######
#Yours#
#######
$array = @($array = @("Comprehension", "Outspeed", "Marsileaceae", "Chalybeate")
$found = @{}
Get-Content "C:\PowershellScripts\EngCon.txt" | % {
$line = $_
foreach ($item in $array) {
if ($line -match $item) { $found[$item] = $true }
}
}
$found.Keys | Out-File "C:\PowershellScripts\results.txt"
如果可能,你还可以提供一些很好的学习PS的地方。
使用“写主机”进行快速测试后,结果显示foreach ($item in $array)
中的某些内容正在导致错误(立即结束脚本),我使用的示例文件也仅仅是一些数组项和一些随机词的测试器,全部用空格分隔。至于代码,所有我编辑是集$阵列项目
仅供参考,我不能透露大部分的阵列项目,因为它们是私人
“理解随机Outspeed你好你Uncovenable苹科极端Runcation Guggle Tribunitious Chalybeate“是所有版本的完整测试程序文件(EngCon.pbo,EngCon.txt和EngCon)
然后模糊数组元素,但显示您的实际代码。不要说出你以为你做了什么。 –
为什么要将数组定义放入另一个数组定义中?我当然没有告诉你这样做。将'$ array = @($ array = @(“Comprehension”,“Outspeed”,“Marsileaceae”,“Chalybeate”)'改为'$ array = @(“Comprehension”,“Outspeed”,“Marsileaceae”,“Chalybeate “)',然后再试一次。 –
非常感谢你,现在的工作和工作的目的是第一次已经 –