是否有一个用于dir
列出目录大小的命令的开关?
这个页面说:
Dir还显示列出的文件和目录的总数,它们的累积大小以及磁盘上剩余的可用空间(以字节为单位)。
但它没有具体说明!任何帮助表示赞赏。
我不是在寻找批处理脚本,只是为了一行命令。
是否有一个用于dir
列出目录大小的命令的开关?
这个页面说:
Dir还显示列出的文件和目录的总数,它们的累积大小以及磁盘上剩余的可用空间(以字节为单位)。
但它没有具体说明!任何帮助表示赞赏。
我不是在寻找批处理脚本,只是为了一行命令。
Answers:
试试dir /s /a directory-name
。您将在第2行到最后一行看到总字节数。该/a
标志告诉它在计数中包含任何系统或隐藏文件。
dir
完全是笨重,不使用它自己,但,是的,它工作时,我尝试了它(和它重试您提出异议后)。就个人而言,我会用我自己做更直截了当ls
命令,ls -lw! directory
其中-l
表示长列表,-w
表示遍历子目录以计算大小,-!
表示仅列出目录而不是其内容,从而生成带有结果的单行输出。但我明白了OP作为询问如何只用什么来从微软做的,这似乎做到这一点
dir /s /a h /a s DirName
就像你提到的那样。3)仔细检查输出。第一行应为“驱动器X中的卷为Y”,第二行“卷序列号为Z”,最重要的是,第3行为“未找到文件”,第4行为“目录” Drive:\ Path \ to \ DirName“后跟DirName的列表。第3行非常重要,请检查它是否存在。
如果您使用的是Windows Vista或更高版本,它将随PowerShell一起提供。然后,您可以直接从命令行运行此命令:
powershell -c "Get-ChildItem -Recurse 'path_to_dir' | Measure-Object -Property Length -Sum"
Sum
将是以字节为单位的大小。
您可以为某些早期版本的Windows下载并安装PowerShell。此外,我强烈建议您切换到PowerShell或POSIX shell。Windows命令行(cmd.exe
)仅适用于更基本的操作; 除此之外,它可能会变得非常复杂。特别是如果你想要单行。
du -sh /path
。如果您通过安装像CYGWIN这样的POSIX shell来遵循Bob的建议,那么您也可以使用简化的命令。
dos / nt命令的一个很好的参考是http://ss64.com/ ; 有时technet更好,但ss64也将在底部列出其他相关方法来完成类似的行为。即:特定结果的命令“DIRUSE”,有时甚至是相同的Powershell命令。
BTW - gnuwin32项目有许多核心命令实用程序可以从nix世界获得,通常有一个直接针对需要做的事情...在这种情况下du
命令,其中du -b
将列出输出大小相同dir /A /S
并du -h
使其成为人类可读。:)
希望有所帮助。
Microsoft提供了可以下载的“du”可执行文件。
https://docs.microsoft.com/en-us/sysinternals/downloads/du
解压缩Windows目录中的可执行文件,例如,这将列出所有用户目录的大小:
C:\Users>du64 -l 1 *