C\#dir 명령 을 사용 하여 파일 검색 기능 예제 구현

2885 단어 C#dir 명령
이 실례 는 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\#프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기