Windows-Server-2003
如何快速統計一個文件夾中的文件數量?
在 Windows 2003 Server 上,我有一個應用程序,它處理請求並將它們作為隊列儲存在一個文件夾中,第二個程序來處理這些儲存的請求。然而,有時文件的數量往往會達到 100,000 個。
在命令提示符下使用 Windows 資源管理器甚至 dir 似乎並不是我找出儲存了多少文件的解決方案。它還需要太多時間、CPU 和 I/O。
有什麼建議?
我不確定這在這麼大的文件夾上執行速度有多快,但值得一試。
將以下程式碼保存在 .vbs 文件中。然後,像這樣從 CMD 提示符執行它:
CSCRIPT FileCount.vbs C:\Insert\Your\Path\Here.
它只計算路徑根目錄中的文件,但可以對其進行修改以包含子文件夾。
Dim oArgs Set oArgs = WScript.Arguments If oArgs.Count >= 1 Then WScript.Echo FileCount(oArgs(0)) End If '------------------------------------------------------------ ' '------------------------------------------------------------ Function FileCount(sPath) Dim oFSO Dim oFolder Dim oFiles Set oFSO = CreateObject("Scripting.FileSystemObject") Set oFolder = oFSO.GetFolder(sPath) Set oFiles = oFolder.Files FileCount = oFiles.Count End Function
您可以使用此頁面上的腳本並以這種方式呼叫它:
call filecount.bat C:\temp filecount /S echo %filecount%
如果要遞歸搜尋所有子文件夾,則需要開關“/S”