查找名为 SS 的文件夹,返回文件夹的大小

查找名为 SS 的文件夹,返回文件夹的大小

我能够在层次结构中找到所有名为“SS”(已取代)的文件夹并列出每个文件夹的位置。

我一直在使用这个代码来输出列表。

DIR /AD /B“SS”/S>SS_Folder_List.txt

如何使用 Powershell 或命令行获取此列表并返回每个文件夹的总大小?

答案1

您只需一个命令即可完成此操作:

for /d /r %%d in (ss.?) do dir "%%d" | Find "File(s)"

一些说明:

  • 你的系统需要是英文的,否则请更改文件系统向 dir 命令输出的内容
  • for 循环需要通配符,因此党卫军?例如,如果你有文件夹不锈钢这些也将包括
  • 如果从命令行运行,请使用 %d 而不是 %%d

答案2

根据第一个解决方案如何通过批处理文件列出所有文件夹及其大小你的答案是:

@echo off
setlocal disabledelayedexpansion

set "folder=ss%~1"
if not defined folder set "folder=%cd%"

for /d %%a in ("%folder%\*") do (
    set "size=0"
    for /f "tokens=3,5" %%b in ('dir /-c /a /w /s "%%~fa\*" 2^>nul ^| findstr /b /c:"  "') do if "%%~c"=="" set "size=%%~b"
    setlocal enabledelayedexpansion
    echo(%folder%\%%~nxa Size = !size!
    endlocal
)

endlocal

相关内容