Get-ChildItem相当于DIR/X.

Old*_*zer 4 windows powershell powershell-3.0

如何在PowerShell中以8.3表示法显示目录列表?

Sha*_*evy 6

您可以使用WMI:

Get-ChildItem | ForEach-Object{
    $class  = if($_.PSIsContainer) {"Win32_Directory"} else {"CIM_DataFile"}
    Get-WMIObject $class -Filter "Name = '$($_.FullName -replace '\\','\\')'" | Select-Object -ExpandProperty EightDotThreeFileName
}
Run Code Online (Sandbox Code Playgroud)

或者Scripting.FileSystemObject com对象:

$fso = New-Object -ComObject Scripting.FileSystemObject

Get-ChildItem | ForEach-Object{

    if($_.PSIsContainer) 
    {
        $fso.GetFolder($_.FullName).ShortPath
    }
    else 
    {
        $fso.GetFile($_.FullName).ShortPath
    }    
}
Run Code Online (Sandbox Code Playgroud)