フォルダー内のすべてのファイルをループして、ファイル名に特定のテキストを含むファイルのみを一覧表示しようとしています。たとえば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ます。なんで?