在目录中查找等于0的文件Powershell

时间:2017-12-22 02:41:54

标签: powershell

我想知道如何在目录中显示空文件列表

$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'.

4 个答案:

答案 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-ChildItemFile标记,-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