Windows-Server-2003

如何快速統計一個文件夾中的文件數量?

  • August 14, 2019

在 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”

引用自:https://serverfault.com/questions/26437