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

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 に答える
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 に答える
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 に答える