2016-05-31 4 views
1

私は、(サブフォルダを含む)検索する必要のあるドライブ上にファイル名を含むすべてのファイルを "データ "(例えば、C:\data\test-data.txt)。"data"という単語とそのメッセージボックスのパスを含むfilenameのフォルダとサブフォルダを検索します

Set fso = CreateObject("Scripting.FileSystemObject") 

CopyUpdater fso.GetFolder("c:\data\") 

Sub CopyUpdater(fldr) 
    For Each f In fldr.Files 
    If LCase(f.Name) = "data" Then 
     WScript.Echo objFile.Name 
    End If 
    Next 

    For Each sf In fldr.SubFolders 
    CopyUpdater sf 
    Next 
End Sub 

答えて

2

ファイル名の部分一致を確認する場合は、直接比較する代わりにInStrを使用してください。また、名前の代わりにパスを表示するには、Pathプロパティをエコーする必要があります。もちろん、正しい変数を使用する必要があります。

Sub CopyUpdater(fldr) 
    For Each f In fldr.Files 
    If InStr(LCase(f.Name), "data") > 0 Then 
     WScript.Echo f.Path 
    End If 
    Next 

    For Each sf In fldr.SubFolders 
    CopyUpdater sf 
    Next 
End Sub
関連する問題