親ディレクトリの結果を返さないファイルカウント関数があります。すべてのサブディレクトリの結果を返します。私のデバッグ中に私は、私のDirectory.GetDirectories(sDir)として渡されている親ディレクトリを参照してくださいが、一度Directory.GetFiles(d)をヒットすると、すでにサブディレクトリに変更されています。私はこの壁の壁に頭を向けて叩いています。明らかに、それは私のforeachループでなければならないが、私はそれを見ていない。C# - ディレクトリ検索で親ディレクトリの結果が返されない
私が渡していたファイル構造は次のとおりです。
C:\ Users \ユーザーXXXXX \デスクトップ\ Tempにログ
が、それは三つのサブディレクトリがあります。
C:\ユーザー\ XXXXX \デスクトップ\一時ログ\ SUB1
C:\ Users \ユーザーXXXXX \デスクトップ\ Tempにログ\ SUB2
C:\ Users \ユーザーXXXXX \デスクトップ\ Tempにログ\ SUB3
誰か私のエラーが表示されますか?
private static string fileCount(string sDir, string sfileType)
{
int count = 0;
string extension;
foreach (string d in Directory.GetDirectories(sDir))
{
foreach (string file in Directory.GetFiles(d))
{
extension = Path.GetExtension(file);
if (extension.ToUpper().Equals(sfileType.ToUpper()))
{
TimeSpan fileAge = DateTime.Now - File.GetLastWriteTime(file);
if (fileAge.Days > int.Parse(ConfigurationManager.AppSettings["numberOfDays"]))
{
count++;
}
}
}
}
return count.ToString();
}
Directory.GetDirectoriesは引数のサブディレクトリのみを返しますか? – Casey
どの出力番号が期待されていますか、実際に何を得ていますか? –
@Caseyが指摘しているように、Directory.GetDirectoriesは親ディレクトリを返しません。https://msdn.microsoft.com/pt-br/library/c1sez4sc(v=vs.110).aspx追加のDirectory.GetFilesをforeachの外の親ディレクトリ – Magnetron