關於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是一個強大,輕便,靈活的搜索工具,對於特殊需求的開發還是極為有用的;出於好奇便研究了一下以供有興趣的朋友參考,碼農不易如果對你有用,打賞一下給個支持!

