2017-01-03 9 views
1

署名を比較して今すぐファイルを検索するアンチウイルススクリプトを作成しています。私はpythonで動作するようにそれを得たが、私はString.Compare(virus.ToString、text.ToString)は2つのファイルを別のファイルと一致する行でチェックする方法

とあれば、= TRUEなら、私は試してみる

Dim fname 
    OpenFileDialog1.ShowDialog() 
    fname = OpenFileDialog1.FileName 

    Dim virus = System.IO.File.ReadLines("C:\Users\joeblow\Desktop\virussignatures.txt") 
    Dim text = System.IO.File.ReadLines(fname) 

    Dim reuslts = String.Compare(virus.ToString, text.ToString) 
    If reuslts.ToString Then 
     lstVirusFiles.Items.Add(fname) 
    Else 
     lstCleanFiles.Items.Add(fname) 
    End If 

vb.netでスクリプトを書きたいですString.Compare(virus.ToString、text.ToString)その後、

私も、この場合はtext.Contains(virus.ToString)を試行し

誰かがあなたに感謝し、正しい方向に私を指すことができれば、私は思っていました。

+0

の下に試してみてください? – Plutonix

+0

私はあなたがループ構造を使用して、それがターゲットファイル(fname)に現れるかどうかをテストするために、各ウィルスシグネチャを調べなければならないと思います。 – ChicagoMike

答えて

1

はあなたが*テキスト*としてウイルスシグネチャを格納している

Dim fname 
If OpenFileDialog1.ShowDialog() <> Windows.Forms.DialogResult.OK Then 
    Return 
    'Or Throw error 
End If 

fname = OpenFileDialog1.FileName 

Dim virus = System.IO.File.ReadLines("C:\Users\joeblow\Desktop\virussignatures.txt") 
Dim text = System.IO.File.ReadAllText(fname) 

Dim found As Boolean = False 
For Each signature In virus 
    If text.IndexOf(signature, 0, StringComparison.CurrentCultureIgnoreCase) > -1 Then 
     lstVirusFiles.Items.Add(fname) 
     found = True 
     Exit For 
    End If 
Next 

If found Then 
    lstVirusFiles.Items.Add(fname) 
Else 
    lstCleanFiles.Items.Add(fname) 
End If 
+0

ありがとうございました。私は多くの助けをしてくれました。私はしばらくこのことに固執していました。 –

+0

答えが正しいと答えてください、検索エンジンからこのページに着くと他の人に役立つかもしれません。 –