-1
我使用的AutoIt。
我有一个函数列出了计算机上安装的所有程序。它结束与:需要帮助阅读功能输出
返回$软件
ENDFUNC
我也有,我想比较一下程序的主列表。我有一个脚本可以完成我想要的功能,但是我无法将$软件合并到新功能中。
#include <Array.au3>
Local $software
Local $a[50] = ["CCleaner", "Java [6]", "Adobe", "MBAM"]
Local $b[50] = ????????
_ArrayDisplay(_Separate($a, $b))
Func _Separate(ByRef $in0, ByRef $in1)
$in0 = _ArrayUnique($in0, 0, Default, Default, 0)
$in1 = _ArrayUnique($in1, 0, Default, Default, 0)
Local $z[2] = [UBound($in0), UBound($in1)], $low = 1 * ($z[0] > $z[1]), $aTemp[$z[Not $low]][3], $aOut = $aTemp, $aNdx[3]
For $i = 0 To $z[Not $low] - 1
If $i < $z[0] Then $aTemp[$i][0] = $in0[$i]
If $i < $z[1] Then $aTemp[$i][1] = $in1[$i]
Next
For $i = 0 To $z[$low] - 1
$x = _ArrayFindAll($aTemp, $aTemp[$i][$low], 0, 0, 1, 0, Not $low)
If Not @error Then ; both
For $j = 0 To UBound($x) - 1
$aTemp[$x[$j]][2] = 1
Next
$aOut[$aNdx[2]][2] = $aTemp[$i][$low]
$aNdx[2] += 1
Else ; only in $low
$aOut[$aNdx[$low]][$low] = $aTemp[$i][$low]
$aNdx[$low] += 1
EndIf
Next
For $i = 0 To $z[Not $low] - 1
If $aTemp[$i][2] <> 1 Then
$aOut[$aNdx[Not $low]][Not $low] = $aTemp[$i][Not $low]
$aNdx[Not $low] += 1
EndIf
Next
ReDim $aOut[_ArrayMax($aNdx)][3]
Return $aOut
EndFunc ;==>_Separate
如何获取$软件的内容到$ b数组中?
感谢您的帮助。我尝试了你的第一个建议,它只输出字符串中的第一个文件。当地$ A [50] = [ “CCleaner的”, “Java的[6]”,为 “Adobe”, “MBAM”] 本地$ softwareb [50] = [_软件()]我不知道该怎么做你的其他2条建议。 _ArrayDisplay(_Separate($ A,$ softwareb)) –
对不起我以前的评论的混乱。我无法纠正它。 –