在cmd中显示包含子文件夹、文件和大小的文件夹属性

在cmd中显示包含子文件夹、文件和大小的文件夹属性,cmd,directory,Cmd,Directory,我希望在cmd提示符上得到与右键单击文件夹并单击属性相同的结果。。当我尝试使用dir命令时,我会得到比预期更多的目录。稍微搜索一下会有很大帮助 通过将下面的脚本放入文件(如Get DirResults.ps1)并使用以下命令,从cmd.exe运行此命令 powershell -NoLogo -NoProfile -File DirResults.ps1 ==Get-DirResults.ps1 [CmdletBinding()] param( [Parameter(Mandatory=

我希望在cmd提示符上得到与右键单击文件夹并单击属性相同的结果。。当我尝试使用dir命令时,我会得到比预期更多的目录。

稍微搜索一下会有很大帮助

通过将下面的脚本放入文件(如
Get DirResults.ps1
)并使用以下命令,从cmd.exe运行此命令

powershell -NoLogo -NoProfile -File DirResults.ps1
==Get-DirResults.ps1

[CmdletBinding()]
param(
    [Parameter(Mandatory=$true)]
    [ValidateScript({
        if( -Not ($_ | Test-Path -PathType Container) ){
            throw "File or folder does not exist"
        }
        return $true
    })]
    [System.Io.FileInfo]$Path
)

# Format-ByteSize from https://stackoverflow.com/a/57535324/447901
$Shlwapi = Add-Type -MemberDefinition '
    [DllImport("Shlwapi.dll", CharSet=CharSet.Auto)]public static extern int StrFormatByteSize(long fileSize, System.Text.StringBuilder pwszBuff, int cchBuff);
' -Name "ShlwapiFunctions" -namespace ShlwapiFunctions -PassThru

Function Format-ByteSize([Long]$Size) {
    $Bytes = New-Object Text.StringBuilder 20
    $Return = $Shlwapi::StrFormatByteSize($Size, $Bytes, $Bytes.Capacity)
    If ($Return) {$Bytes.ToString()}
}

$DirInfo = Get-ChildItem -Recurse -Directory -Path $Path | Measure-Object
$FileInfo = Get-ChildItem -Recurse -File -Path $Path | Measure-Object -Sum -Property Length

"Directory: {0}" -f @(Resolve-Path -Path $Path)
"Size:      {0} ({1:N0} bytes)" -f @((Format-ByteSize $FileInfo.Sum), $FileInfo.Sum)
"Contains:  {0:N0} Files, {1:N0} Folders" -f @($FileInfo.Count, $DirInfo.Count)

打开a,运行目录C:\CST2107Lab4/a,查看最后两行,其中包含目录中的文件数及其总大小(以字节为单位)以及子目录数的信息。使用
for/F
循环处理
dir
的输出,可以将这三个数据分配给环境变量。英语窗口示例:
for/F“skip=7 tokens=1-3”%%I in('dir“C:\CST2107Lab4”/A 2^>nul')如果“%%J”==“文件”(设置“NumberFiles=%%I”并设置“TotalFileSize=%%K”)则如果“%%J”=“dir(s)”设置/A NumberFolders=%I-2
感谢您的回答有没有办法使用cmd提示符而不是power shell是的,这就是我写的。在cmd.exe中,使用命令
powershell-NoLogo-NoProfile-File Get DirResults.ps1
。如果没有除cmd.exe以外的任何可执行文件,则很难执行此操作,而且可能无法维护。它能产生你想要的结果吗?