フォルダー内のすべてのファイルをループして、ファイル名に特定のテキストを含むファイルのみを一覧表示しようとしています。たとえばTEST.pdf
、フォルダー X に新しいファイルを移動するときにTest.pdf
、そのフォルダーに名前が付けられたファイルが既に存在する場合は、新しいファイルの名前を変更する必要がありますTest1.pdf
。最初にそれを行うために、名前にその単語を含む既存のすべてのファイルの数を見つけようとしていTEST
ます。
これは私がこれまでに持っているコードです:
For Each FoundFile As String In My.Computer.FileSystem.GetFiles(varFolderPath, FileIO.SearchOption.SearchTopLevelOnly, varFileName & "*")
If FoundFile.Contains(varFileName) Then
Response.Write(FoundFile & "</br>")
End If
Next
varFileName
渡される変数の値は ですTEST.pdf
。
現在、フォルダーTest.pdf
にTest1.pdf
とTest2.pdf
がありますが、何らかの理由で、このコードは 3 つのファイルすべてを一覧表示するのではなくTest.pdf
、応答に表示されるだけです。
For Each
ループを次のように変更すると:
For Each fileName As String In Directory.GetFiles(varFolderPath, varFileName & "*")
それでも、同じ結果のみが得られTEST.pdf
ます。なんで?