를 찾을 수없는 ** 편집 : 그것은 내 코드가 실제로 어떤 일한다는 것을 지적하고있다. 그러나 'this.zip'파일을 하위 폴더로 식별하므로 'contents \ this.zip'인 모든 폴더가 나열됩니다. (단지 'contents \ newfolder \ this.zip'인 것을 찾으려고 노력하므로 적어도 하나의 'contents'디렉토리의 하위 폴더가 있습니다.) 어떻게하면 .zip 파일뿐만 아니라 실제 폴더 인 디렉토리 만 나열 할 수 있습니까?왜 내 코드 디렉토리
나는 일반적으로 직접 '컨텐츠'라는 폴더에있는 'this.zip'라는 제목의 파일을 다루는 프로그램을 쓰고 있어요. this.zip 파일이 'contents'폴더에 직접 있는지 또는 하위 폴더가 있는지 여부를 확인하려고합니다. 'contents'폴더가 비어 있는지 확인하기 위해 작동하는 코드 집합이 있는데 하위 디렉토리가 포함 된 'contents'폴더를 찾기 위해 변경할 수 있다고 생각했지만 작동하지 않습니다. 내가 쿼리 변경 한 경우
//This finds 'contents' folders that are empty
DirectoryInfo directory = new DirectoryInfo(txtbxOldFolder.Text);
DirectoryInfo[] folders = directory.GetDirectories("*contents*",SearchOption.AllDirectories);
Var query = from folder in folders
where folder.GetFileSystemInfos().Length == 0
select folder.FullName.ToString();
foreach (string str in query)
{
//this adds the path of any empty 'contents' folder
listEmptyFolder.Add(str);
}
내가 생각 - 문은 서브 디렉토리가 그 중 하나를 찾아 낼 길이> 1이 될,하지만 작동하지 않습니다. 이것이 제가 시도하고있는 것을 성취하는 최선의 방법입니까, 아니면 LINQ를 사용하려고 시도 할 것입니까?
//This is supposed to find 'contents' folders that have subdirectories, but it's unsuccessful
DirectoryInfo directory = new DirectoryInfo(txtbxOldFolder.Text);
DirectoryInfo[] folders = directory.GetDirectories("*contents*",SearchOption.AllDirectories);
Var query = from folder in folders
where folder.GetFileSystemInfos().Length > 1
select folder.FullName.ToString();
foreach (string str in query)
{
//this adds the path of any empty 'Contents' folder
listNestedFolders.Add(str);
}
당신이 게시 된 샘플을 다시 한 번 확인 할 수 있나요? GetDirectories의 메소드 시그니처는 Directory.GetDirectories (String), Directory.GetDirectories (String, String) 및 Directory.GetDirectories (String, String, SearchOption)입니다. – jac
내가 나열한 코드는 정확히 그대로 표시됩니다. –
코드가 비어있는 폴더를 찾습니다. –