[VBScript] ワイルドカードを指定したファイル名サーチ
2020年 12月 30日
ワイルドカードの指定が可能なファイル名サーチ関数「SearchFile」を用意しました。
![[VBScript] ワイルドカードを指定したファイル名サーチ_a0021757_13330209.png](https://pds.exblog.jp/pds/1/202105/07/57/a0021757_13330209.png)
SearchFile関数の考え方
- 重複しない名前のフォルダを作成する。
- 1へ該当ファイル群を移動(MoveFile)する。
- 2からファイル名を取得する。
- 移動したファイル群を元のフォルダへ戻す(MoveFile)。
- 1で作成したフォルダを削除する。
SearchFile関数のソース
' 指定したファイル名が存在するか調べる(ワイルドカードOK)
' 戻り値:見つかったファイル名(最初に見つかったもの)
Function SearchFile(DirectoryPath, FileName)
Dim objFS,f,r,dpth
r = ""
On Error Resume Next
Set objFS = CreateObject("Scripting.FileSystemObject")
dpth = DirectoryPath & objFS.GetTempName
objFS.CreateFolder(dpth) ' 重複しないフォルダを作成
objFS.MoveFile DirectoryPath & FileName, dpth & "\"
For Each f In objFS.GetFolder(dpth).Files
r = f.Name
Exit For
Next
objFS.MoveFile dpth & "\" & FileName, DirectoryPath
objFS.DeleteFolder dpth
On Error GoTo 0
SearchFile = r
End Function
この記事での気付き
d = Now
dname = Right(Year(d),2) & Right("0" & Month(d),2) & Right("0" & Day(d),2) & "_" & Right("0" & Hour(d),2) & Right("0" & Minute(d),2) & Right("0" & Second(d),2)

にほんブログ村