關於everything 的強大還真不是忽悠的,下面是自己的一些處理方法
1:新建一個控制台項目(這個任何項目都可以請隨意開心就好)
2:下載 “Everything” 搜索引擎,下載 “ES” ES是一個命令行界面,用於從命令提示符搜索Everything;下載連接:https://www.voidtools.com/zh-cn/downloads/#cli
3:把 “Everything.exe” 和 “ES.exe” 放在項目根目錄
以上是開發前的 “硬裝” 缺一不可,一下以代碼的形式為大家呈現 “軟裝”
1:新建一個控制台應用程序
2:添加一個 “CmdHelper” 工具類用於通過啟動ES執行相關命令執行Everything搜索
public class CmdHelper { private static string CmdPath = @"C:\Windows\System32\cmd.exe"; public static void RunCmd(string cmd, out string output) { //說明:不管命令是否成功均執行exit命令,否則當調用ReadToEnd()方法時,會處於假死狀態 cmd = cmd.Trim().TrimEnd('&') + "&exit"; using (Process p = new Process()) { p.StartInfo.FileName = CmdPath; p.StartInfo.UseShellExecute = false; //是否使用操作系統shell啟動 p.StartInfo.RedirectStandardInput = true; //接受來自調用程序的輸入信息 p.StartInfo.RedirectStandardOutput = true; //由調用程序獲取輸出信息 p.StartInfo.RedirectStandardError = true; //重定向標准錯誤輸出 p.StartInfo.CreateNoWindow = true; //不顯示程序窗口 p.Start(); //啟動程序 //向cmd窗口寫入命令 p.StandardInput.WriteLine(cmd); p.StandardInput.AutoFlush = true; //獲取cmd窗口的輸出信息 output = p.StandardOutput.ReadToEnd(); p.WaitForExit();//等待程序執行完退出進程 p.Close(); } } }
3:主程序傳值啟用,注意啟動程序之前先啟動“Everything”
public static void Main(string[] args) { string str = ""; //比如搜索電腦里的"mp4",注意中間有空格 string cmd = "es.exe *mp4"; CmdHelper.RunCmd(cmd, out str); Console.WriteLine("{0}", str.ToString()); Console.ReadKey(); }
4:效果圖
結尾:Everything是一個強大,輕便,靈活的搜索工具,對於特殊需求的開發還是極為有用的;出於好奇便研究了一下以供有興趣的朋友參考,碼農不易如果對你有用,打賞一下給個支持!