DIR /S 和 Get-ChildItem -Recurse 之间的区别

DIR /S 和 Get-ChildItem -Recurse 之间的区别

为什么这些命令返回不同的结果?

从cmd.exe:

>DIR /S C:\SVN
...
     Total Files Listed:
           87268 File(s) 23,080,818,153 bytes
           15836 Dir(s)  216,886,992,896 bytes free

从 powershell.exe:

>Get-ChildItem -File -Recurse -Force -Path 'C:\SVN' |
    Measure-Object -Sum -Property Length |
    Select-Object -Property Count,Sum

Count         Sum
-----         ---
87305 23081499113

答案1

当您在 CMD 提示符中发出 DIR 命令时,默认行为是不显示系统和隐藏文件。要显示所有内容,请使用/A不带任何修饰符的开关。

但是,在 PowerShell 中,您使用了-Force定义为“允许 cmdlet 获取用户无法访问的项目,例如隐藏文件或系统文件”的参数。

因此这种差异意味着您的文件夹中有一些隐藏文件或系统文件。

相关内容