使用Get-ChildItem无法获取指定路径目录及文件,输出为空求助
解决PowerShell Get-ChildItem输出为空的问题
问题根源
你同时使用了-Directory和-File参数,这两个参数是互斥的——它们分别用来筛选仅目录、仅文件,同时指定会让PowerShell寻找既是目录又是文件的项,这种对象不存在,所以结果自然为空。
正确写法
方法1:默认获取所有文件和目录
如果不需要排除其他类型的项(比如符号链接),直接去掉-Directory和-File参数即可,Get-ChildItem默认会递归获取目标路径下所有文件和子目录:
$Path = "你的目标路径" $Binaries = Get-ChildItem -Path $Path -Recurse # 直接输出变量,比Write-Host更易查看完整信息 $Binaries
方法2:明确指定获取文件和目录(排除其他类型)
如果需要严格仅获取文件和目录,可通过-Attributes参数指定,避免获取符号链接等其他类型项:
$Path = "你的目标路径" $Binaries = Get-ChildItem -Path $Path -Recurse -Attributes !ReparsePoint, Directory, File $Binaries
关于输出的补充说明
用Write-Host输出$Binaries时,只会显示对象的字符串表示,可能无法完整展示所有项的信息。直接输出变量或者使用Write-Output,能看到更清晰的文件/目录列表及属性。
内容的提问来源于stack exchange,提问作者Royston
相关产品推荐
相关产品推荐

