[[20100316224856]] 『scriptで *(ワイルドカード)を利用してファイ』(taro) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『scriptで *(ワイルドカード)を利用してファイルを開く方法』(taro)

WindowsScriptHostかvbscriptを利用して
*を利用してファイルを開く方法を教えてください。

例)
c\Findフォルダの直下にあるファイルでファイル名に、
abcがつくxlsファイルを開くためのScriptの記述方法がわかりません。

   C:\Find\*abc.xls

すみませんがよろしくお願いします。


 vbsには、Like演算子がないですからねえ
 提示された例なら、Instr関数でもいけそうですが、正規表現ですかね

 dim regx
 dim ffp,fld
 dim fl
 dim mystr
 mystr=inputbox("Excelファイル検索文字列を入力して")
 if mystr<>"" then
   ffp=get_folder_path("",1,0)
   if ffp<>"False" then
      with createobject("scripting.filesystemobject")
        set fld=.getfolder(ffp)
        Set regx = CreateObject("VBScript.RegExp")
        regx.Pattern = ".*" & mystr & ".*\.xls"
        regx.IgnoreCase = True 
        regx.Global = True
        for each fl in fld.files
           if regx.test(fl.name) then
              msgbox fl.Path
           end if
        next
        set regx=nothing
        set fld=nothing
        set fl=nothing
      end with
   end if
 end if
 '========================================================================================
 Function get_folder_path(mes ,opt, initval) 
    Dim fld  
    Set fld = CreateObject("Shell.Application").BrowseForFolder(0, mes, opt, initval)
    On Error Resume Next
    If Not fld Is Nothing Then
       get_folder_path = fld.items.Item.Path
       If Err.Number <> 0 Then
          get_folder_path = False
       End If
    Else
       get_folder_path = False
    End If
    Set fld = Nothing
 End Function

 上記コードをメモ帳にコピーし、拡張子 .vbsで保存してください。
 仮にsample.vbsとします。
 sample.vbsを実行すると、Excelファイル検索文字列の入力要求がありますから、
 投稿例でいうと、abc と入力してOKクリックをしてください。

 次に検索フォルダを指定してOKクリックをしてください。

 指定フォルダ内でabc(ABC)が含まれるExcelファイル名が表示されます。

 ichinose


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.