欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C#教程

當(dāng)前位置:主頁 > 軟件編程 > C#教程 >

C#使用dir命令實現(xiàn)文件搜索功能示例

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C#教程|點擊: 次

本文實例講述了C#使用dir命令實現(xiàn)文件搜索功能。分享給大家供大家參考,具體如下:

以往,我都是使用 System.IO.Directory.GetDirectories() 和 System.IO.Directory.GetFiles() 方法遍歷目錄搜索文件。但實際的執(zhí)行效果始終差強人意,在檢索多種類型文件方面不夠強大,尤其是在檢索特殊文件夾或遇到權(quán)限不足時會引發(fā)程序異常。

這次為朋友寫了個檢索圖片的小程序,在仔細研究了 Process 以及 ProcessStartInfo 之后,決定利用這兩個類以及系統(tǒng)命令 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);
    // 如果僅搜索文件夾可以使用下面的參數(shù)組合
    // 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) =>
    {
      // 根據(jù) p.Data 是否為空判斷 dir 命令是否已執(zhí)行完畢
      if (string.IsNullOrEmpty(p.Data) == false)
      {
        output.AppendLine(p.Data);
        // 可以寫個自定義類 <T>
        // 然后利用 static <T> FromFile(string path) 的方式進行實例化
        // 最后利用 List<T>.Add 的方法將其加入到 List 中以便后續(xù)處理
        // * 數(shù)據(jù)量很大時慎用
      }
      else
      {
        // 運行到此處則表示 dir 已執(zhí)行完畢
        // 可以在此處添加對 output 的處理過程
        // 也可以自定義完成事件并在此處觸發(fā)該事件,
        // 將 output 作為事件參數(shù)進行傳遞以便外部程序調(diào)用
      }
    };
    compiler.Start();
    compiler.BeginOutputReadLine(); // 開始異步讀取
    compiler.Close();
  }
}

更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《C#文件操作常用技巧匯總》、《C#遍歷算法與技巧總結(jié)》、《C#程序設(shè)計之線程使用技巧總結(jié)》、《C#常見控件用法教程》、《WinForm控件用法總結(jié)》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》及《C#面向?qū)ο蟪绦蛟O(shè)計入門教程》

希望本文所述對大家C#程序設(shè)計有所幫助。

上一篇:C#操作SQLite數(shù)據(jù)庫幫助類詳解

欄    目:C#教程

下一篇:使用C# 的webBrowser寫模擬器時的javascript腳本調(diào)用問題

本文標(biāo)題:C#使用dir命令實現(xiàn)文件搜索功能示例

本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/5588.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有