0

您如何在空目录中找到所有空文件。给定的文件可能有回车或空格。我也需要捕捉这些。我可以在 powershell 或 c# 中使用代码。

4

4 回答 4

3

Powershell 让它变得简单:

Get-ChildItem -Path C:\dir -recurse -Filter { $_.Length -eq 0 }

#YOUR HOMEWORK: filter for your CRLF criteria as well

于 2012-07-11T21:43:54.147 回答
2
var files = new DirectoryInfo("Your path").GetFiles("*.*", SearchOption.AllDirectories);
foreach(var file in files) 
{
    using(var r = new StreamReader(file.OpenRead()))
    {
       string content = r.ReadToEnd();
       if(string.IsnullOrWhitespace(content))
       {
       // do stuff
       }
    }
}

代码不在我的顶部,没有测试它,你可以得到这个想法。

于 2012-07-11T21:35:29.993 回答
2

System.IO 有你想要的类

    DirectoryInfo di = new DirectoryInfo("c:\\Luke101");
    FileInfo[] fiArr = di.GetFiles();

    foreach (FileInfo fi in fiArr)
    {
        if(fi.Length == 0)
        {
            //.. Then do stuff
        }
    }
于 2012-07-11T21:32:26.487 回答
0

获取从文件开头到结尾的所有零字节长度文件或只有空格、制表符、CR 的文件。

Get-ChildItem <path> -Recurse | 
Where-Object {!$_.PSIsContainer -and ($_.Length -eq 0 -or ([IO.File]::ReadAllText($_.FullName) -match '^\s+$') }
于 2012-07-12T11:33:17.880 回答