2017-01-19 7 views
2

特定のディレクトリ内のすべてのファイルが特定の接頭辞を持つまで、アプリケーションを閉じることができないようにしようとしています。私のメインディレクトリには5つのサブディレクトリがありますが、3つのサブディレクトリのみを検索する必要がありますか?あなたが唯一にしている場合、私は、これは、これまでディレクトリ内の特定のディレクトリを検索することはできますか?

Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing 

e.Cancel = True 

    Dim directory As New IO.DirectoryInfo(dir) 

    For Each file In directory.EnumerateFiles("*.txt", IO.SearchOption.TopDirectoryOnly) 

     If file.Name.Contains("prefix.") Then 
      e.Cancel = False 
     Else e.Cancel = True 

     End If 


    Next 

答えて

0

私が持っているコードです

...これらの3つのサブディレクトリ内のすべてのファイルが接頭辞を持っていない限り、アプリを閉じることができないようにしたいです5つのサブディレクトリのうち3つを検索して、名前/パスが静的であると仮定します。もしそうなら、これはうまくいくでしょう。

Dim directoriesToSearch() As String = {"C:\TopDirectory\SubDir1", "C:\TopDirectory\SubDir2", "C:\TopDirectory\SubDir3"} 
Dim sb As New StringBuilder() 

For Each d In directoriesToSearch 
    Dim directory As New IO.DirectoryInfo(d) 

    For Each f As FileInfo In directory.EnumerateFiles() 
    If f.Name.IndexOf("myPrefix") <> 0 Then 
     Dim message As String = String.Format("The directory {0} does not have the valid prefix.", d) 
     sb.AppendLine(message) 
    End If 
    Next 
Next 

If sb.Length > 0 Then 
    MessageBox.Show(sb.ToString) 
End If 
+1

ありがとうございました、あなたは本当に私を助けました – jdwee

関連する問題