我想知道如何在目录中显示空文件列表
$test = gci "C:\Users\Freedom\Documents" -Recurse
$test | Where-Object {$_.PsISContainer} | Select-Object FullName | Where-Object {$_.GetFiles() -eq 0}
我不明白,因为当我get-childitem | get-member
时,我会得到一个我可以使用的属性和方法列表,在列表中getfiles()
为什么我不能使用这种方法为什么它给我一个错误信息?
Method invocation failed because [System.IO.FileInfo] does not contain a method named 'GetFiles'.
答案 0 :(得分:1)
我想你想要这个:
Get-ChildItem | Where-Object { (-not $_.PSIsContainer) -and ($_.Length -eq 0) }
如果您有PowerShell 3.0或更高版本,则可以使用:
Get-ChildItem -File | Where-Object { $_.Length -eq 0 }
当然,您可以添加所需的Get-ChildItem
的其他参数(-Recurse
等)。
答案 1 :(得分:0)
.count
添加到getfiles()
方法
$test | Where-Object {$_.PsISContainer} | Where-Object {$_.GetFiles().Count -eq 0} | Select-Object FullName
答案 2 :(得分:0)
使用Get-ChildItem
和File
标记,-Recurse
需要获取文件夹和下面文件夹中的每个文件。然后获取所有文件Get-Content
返回null。
Get-ChildItem $YourPath -Recurse -File | Where-Object {!(Get-Content $_.Fullname)}
答案 3 :(得分:0)
试试这个
Get-ChildItem "c:\temp" -File -Recurse | where Length -eq 0