C\#dir 명령 을 사용 하여 파일 검색 기능 예제 구현
이전 에는 System.IO.Directory.GetDirectories()와 System.IO.Directory.GetFiles()방법 으로 디 렉 터 리 검색 파일 을 옮 겨 다 녔 습 니 다.그러나 실제 실행 효 과 는 만 족 스 럽 지 못 하고 다양한 유형의 파일 을 검색 하 는 데 강하 지 못 하 며 특히 특수 폴 더 를 검색 하거나 권한 이 부족 할 때 프로그램 이상 을 일 으 킬 수 있다.
이번 에는 친 구 를 위해 사진 을 검색 하 는 애플 릿 을 써 서 Process 와 ProcessStart Info 를 자세히 연구 한 후에 이 두 가지 유형 과 시스템 명령 dir 를 이용 하여 파일 을 검색 하기 로 결정 했다.
private void search()
{
// exts
var ext = "*.jpg";
var exts = "*.jpg *.png *.gif";
var folder = "D:\\";
var output = new StringBuilder();
if (System.IO.Directory.Exists(folder))
{
string path = System.IO.Path.Combine(folder, exts);
string args = string.Format("/c dir \"{0}\" /b/l/s", path);
//
// string args = string.Format("/c dir \"{0}\" /ad-s-h/b/l/s", folder);
var compiler = new System.Diagnostics.Process();
compiler.StartInfo.FileName = "cmd.exe";
compiler.StartInfo.Arguments = args;
compiler.StartInfo.CreateNoWindow = true;
compiler.StartInfo.UseShellExecute = false;
compiler.StartInfo.RedirectStandardOutput = true;
compiler.OutputDataReceived += (obj, p) =>
{
// p.Data dir
if (string.IsNullOrEmpty(p.Data) == false)
{
output.AppendLine(p.Data);
// <T>
// static <T> FromFile(string path)
// List<T>.Add List
// *
}
else
{
// dir
// output
// ,
// output
}
};
compiler.Start();
compiler.BeginOutputReadLine(); //
compiler.Close();
}
}
더 많은 C\#관련 내용 에 관심 이 있 는 독 자 는 본 사이트 의 주 제 를 볼 수 있다.,,,,,C\#파일 작업 상용 기술 집합,C\#알고리즘 과 기술 총화,C\#프로 그래 밍 스 레 드 사용 기술 총화,C\#일반적인 컨트롤 사용법 강좌,WinForm 컨트롤 사용법 요약과C\#데이터 구조 와 알고리즘 튜 토리 얼본 고 에서 말 한 것 이 여러분 의 C\#프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.