批量檔案尋找替換功能的vbs指令碼_vbs

來源:互聯網
上載者:User
'============================================
'code by lcx 修改網上原有的一個小程式,不知作者,那個程式沒有對目錄實現遞迴尋找
'將本程式放在你要尋找的目錄下,或把尋找的目錄拖到此指令碼上,估計還有bug
'=======================================================================================
On Error Resume next
Do Until False
        Findstr=InputBox("請輸入你要尋找的字元(串):", "請輸入")
        If Findstr <> "" Then
                Exit do
        End If
Loop

repwith=InputBox("請輸入你要替換的字元(串):,如果留空則只為尋找", "請輸入")


If Wscript.Arguments.Count <> 0 Then
        For i=0 To WScript.Arguments.Count-1
                folderpath=WScript.Arguments(i)
                find(folderpath)
        Next
Else
        '處理目前的目錄
        Set objShell = CreateObject("WScript.Shell")
        folderpath=objShell.CurrentDirectory
        find(folderpath)
End If

'替換主程式
Sub find(path)
        set fso=CreateObject("Scripting.FileSystemObject")
        set current=fso.GetFolder(path)
        For Each file In current.Files

                        set fsofile=fso.OpenTextFile(file, 1, true)
       On Error Resume next
                        tempstr=fsofile.Readall

       If InstrRev(tempstr,Findstr, -1, 0)<>0 And repwith = "" Then 
       with Fso.opentextfile(left(Wscript.ScriptFullName,len(Wscript.ScriptFullName)-len(Wscript.ScriptName))&"\re.txt",8,true)
                        .writeline file
       .close
       end with
       End If

       If repwith <> "" Then
       tempstr=replace(tempstr, Findstr, repwith)
       set fsofile1=fso.OpenTextFile(file, 2, true)
                        fsofile1.WriteLine tempstr
       fsofile.close
       End if

                       
        Next

   for each folder in current.subfolders 
   Call find(folder.path)
   next

set fso=nothing
End Sub

msgbox "OK,尋找的檔案名稱儲存在re.txt"

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.