如何在命令行上找到文件夹和子文件夹中最大的文件?

Sac*_*hin 9 windows command-line

我试过这个命令:

dir /s /a:-d /o:-s /b
Run Code Online (Sandbox Code Playgroud)

然而,这个命令给出了最大的文件层次结构。例如,它首先给出主文件夹中最大的文件并列出其他文件,然后是子文件夹中最大的文件。无论是在文件夹还是子文件夹中,我都需要顶部最大的文件。

小智 17

PowerShell 可以很容易地做到这一点:

Get-ChildItem -Path "C:\SomeParentDirectory" -Recurse | Sort-Object -Descending Length
Run Code Online (Sandbox Code Playgroud)

  • 使用以下命令获取前 10 个最大的文件: Get-ChildItem -Path "c:\folder" -Recurse | 排序对象 - 降序长度 | 选择对象 - 前 10 (7认同)

Sac*_*hin 2

我已经找到解决办法了。这里是:

SETLOCAL EnableDelayedExpansion
set tes=0
set name=
set path=

for /r %%h in (*.*) do (
IF !tes! LSS %%~zh (
SET tes= %%~zh
SET name= %%~nh
SET path= %%~ph
)
)

echo name = !name! >> Biggest.txt
echo size = !tes! >> Biggest.txt
echo path = !path! >> Biggest.txt
Run Code Online (Sandbox Code Playgroud)