none
[VBS]想請教VBS要如何去尋找在C:\下的檔案呢? RRS feed

  • 問題

  • 大家好,我有個問題想請教各路高手。

    我想要用VBS去做尋找在C:下要找的檔案,可能會是多個然後show 出來。

    但是之前遇到的是遇到權限的問題,所以資料夾不能開,就出現錯誤停止了。

    但後來我加了防錯的程式碼,就沒有出現了,但程式就好像不知道是跑很久,還是沒有再跑,都沒反應了。

    所以想來請益一下,不知道有沒有高手可以幫忙看一下呢?

    對了,我如果是找桌面上的就沒什麼問題

    謝謝

    On Error Resume Next 
     
    Dim FSO, fpath, fno, TimeSpend
    
    ' 目錄  
    'fpath = "C:\Users\color123\Desktop\" 
    fpath = "C:\"
    fno = 0
    
    Set FSO = CreateObject("Scripting.FileSystemObject")
    
    '計時器
    TimeSpend = Timer  
    TimeSpend = round(Timer-TimeSpend,2)
    
    TimeSpend = Timer
    
    '將經過的資料夾記錄起來
    set outFile = Fso.createtextfile(fpath & "SearchResult.txt")  
    
    '呼叫找尋的副程式
    FindFilesInFolder FSO.GetFolder(fpath)  ' 呼叫刪除資料夾的子程序  
    
    
    Sub FindFilesInFolder(folder)   
      
        Dim folders, subFolder, file
        
    		outFile.writeline folder
    						
        For Each file In folder.Files
    
               if file.name = "test.exe" then
                   fno = fno +1
                        
                   '計時器
                    TimeSpend = round(Timer-TimeSpend,2)
                    msgbox "用時:" & TimeSpend & "秒." & "找到第" & fno & "個," & file
    
               end if
           Next
    
        '再呼叫找尋的副程式往下一層資料夾對比檔案
        For Each subFolder In folder.SubFolders  
    
                FindFilesInFolder(subFolder)        
    
        Next
    End Sub

    2020年3月26日 上午 05:48

所有回覆

  • 您有附予程式足夠的權限嗎?
    2020年3月26日 下午 12:06
  • 要配合 On Error GoTo Next 來閃掉無法存取的目錄。

    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    2020年3月26日 下午 03:08