C# 调用Everything查找文件

article/2025/8/26 8:14:37

Everything

everything的下载 https://www.voidtools.com/zh-cn/

在下载页面往下拉,我们还需要 Everything的命令行接口工具 ES.exe
在这里插入图片描述

ES.exe的使用

在官网中也有介绍这个工具如何使用以及一些案例,https://www.voidtools.com/zh-cn/support/everything/command_line_interface/

举个例子 查找F盘中后缀为zip的压缩包
打开命令行界面,进入es.exe的目录下,(我这里的es.exe放在D:\MyEverything目录),输入查找命令: *es.exe F: .zip

在这里插入图片描述

查找结果如下:
在这里插入图片描述
注意:这个es.exe工具,需要先打开Everything软件,才可以使用!

C#调用Everything查找文件

大体思路:C#调用命令行,控制es.exe的运行和查询内容,最后再读取命令行运行结果即可。

EverythingHelper类

代码如下,需要 使用 using System.Diagnostics; 命名空间

 public class EverythingHelper{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";output = string.Empty;using (Process p = new Process()){p.StartInfo.FileName = CmdPath;//es.exe的目录下运行命令行p.StartInfo.WorkingDirectory = @"D:\MyEverything";//是否使用操作系统flash启动p.StartInfo.UseShellExecute = false;//接受来自调用程序的输入信息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();}}}

UI界面

效果图如下,在F盘中查找后缀为zip且文件名字带有VS的文件。在这里插入图片描述搜索功能具体实现的代码:


/// <summary>/// 搜索/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void BtnSearch_Click(object sender, EventArgs e){string cmdStr = string.Empty;if(tbDir.Text.Length > 0){//路径cmdStr += tbDir.Text + "  ";}if(tbKeyWord.Text.Length > 0){//关键词cmdStr += tbKeyWord.Text + "  ";}if(tbSuffix.Text.Length > 0){//后缀cmdStr +=   "*." + tbSuffix.Text;}if(cmdStr.Length < 1){return;}string resultStr;EverythingHelper.RunCmd("es.exe " + cmdStr, out resultStr);if(resultStr.Length > 0){tbOutput.Text = "";//记录到初步的完整路径List<string> AllPath = new List<string>();//分割得到的字符串SpitPath(ref resultStr, ref AllPath);foreach(string path in AllPath){tbOutput.Text += path + System.Environment.NewLine;}}}/// <summary>/// 处理Evething得到的数据/// </summary>/// <param name="reslutPath">cmd命令得到的字符串</param>/// <param name="AllPath"></param>private static void SpitPath(ref string reslutPath, ref List<string> AllPath){string tempStr = string.Empty;//分割命令行的字符串string[] tempstr = reslutPath.Split(new String[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);for (int i = 0; i < tempstr.Length; i++){if (!File.Exists(tempstr[i])){//不是文件路径则继续往下判断continue;}else{if (tempStr.Equals(tempstr[i])){//路径重复continue;}else{//记录文件的路径tempStr = tempstr[i];AllPath.Add(tempstr[i]);}}}}

小结

Everything小巧便捷且功能搜索功能文件功能强大,还有很多不同条件的查找功能。感谢开发者给我们免费使用!最后,附上该Demo的完整工程。https://download.csdn.net/download/weixin_40314351/86399754?spm=1001.2014.3001.5503


http://chatgpt.dhexx.cn/article/W3nDZNB8.shtml

相关文章

everything-everything使用技巧,过滤文件语法

文章目录 前言技巧everything 搜索条件的与或非everything过滤文件语法 前言 everything是个神器无需多言&#xff0c;能在几秒内从几百G的windows系统文件中找到符合你需求的文件和文件夹&#xff0c;赞叹不已 技巧 everything 搜索条件的与或非 everything可以多条件搜索…

【搜索神器——Everything】的下载安装使用教程

1. 软件介绍 Everything是voidtools开发的一款文件搜索工具&#xff0c;是一个运行于Windows系统&#xff0c;基于文件、文件夹名称的快速搜索引擎&#xff0c;它在搜索之前会把所用的文件和文件夹都列出来&#xff0c;与Windows自带的搜索系统不一样&#xff0c;所以我们称之为…

【高效办公】Everything高效应用案例——软件基本信息篇

软件基本信息篇 『20』Everything软件简介"Everything"是Windows上文件名搜索引擎,其基于名称快速定位文件和文件夹。软件小巧轻便,高效易用,具有以下特点: 轻量安装文件;干净简洁的用户界面;快速文件索引;快速搜索;快速启动;最小资源使用;轻量数据库;实时…

Everything 搜索失败问题解决

平时用的好好的 Everything 突然某一天用不了了&#xff0c;什么东西都搜不出来了…… 就搜桌面上摆着的文件都搜不出来…… 下文介绍下我的解决方案 解决方案 任务栏找到 Everything 图标&#xff0c;右键 选项(O) 找到索引&#xff0c;点击强制重建&#xff0c;点应用&…

Windows 搜索神器,Everything、AnyTXT

Everything与AnyTXT&#xff0c;可以称得上是Windows平台两大搜索利器了 它们都着重于改善Windows自身搜索慢的问题&#xff0c;用以提高工作效率 但功能上的侧重点却各不相同 搭配使用效果更佳&#xff0c;下载链接在最后 AnyTXT Searcher AnyTXT是一款非常强大的本地文档…

快速批量给文件重命名

目标检测数据集需要有序&#xff0c;也算是目标检测前置任务的一个小技巧&#xff0c;相关前置任务&#xff1a;目标检测YOLOv5数据集怎么找&#xff1f;_牛大了2022的博客-CSDN博客 目标效果 一、下载Everything 我在联想商店直接下载的&#xff0c;很轻量 二、在文件夹把文件…

Everything快捷打开搜索,电脑everything软件怎么设置快捷键

Everything快捷打开搜索&#xff0c;电脑everything软件怎么设置快捷键 简介 Everything是一款强大的快捷搜索电脑软件&#xff0c;开源并且免费&#xff0c;但有一部分小伙伴不知道如何更快捷的唤醒everything&#xff0c;这个教程简单介绍一下everything快捷方式的设置方法…

安装wsl下的kali linux时出现的包的问题

在apt-get install kali-linux-everything的过程中由于中途我退出几次重新apt-get install kali-linux-everything的缘故&#xff0c;导致了解包时出现了如图所示的失败。 我的做法就是sudo vim /var/lib/dpkg/status 然后进入到status文件中编辑&#xff0c;将它报错的那几个…

SegGPT: Segmenting Everything In Context

目录 摘要本文方法上下文着色Context EnsembleIn-Context Tuning 消融实验 摘要 最近基于大规模数据的模型越来越火了&#xff0c;chat GPT以及seg everything&#xff0c;感觉后面很多像目标检测&#xff0c;图像恢复等等都会出现这种泛化能力强&#xff0c;基于大规模数据的…

Everything下载

1.下载everything&#xff0c;官方下载地址&#xff1a; https://www.voidtools.com/zh-cn/ 根据自己的电脑选择版本。 2.双击下载好的文件&#xff0c;可以更改下载地址到非系统盘。 3.其他配置都默认即可。 4.下载成功。

项目实战——search-everything搜索工具

目录 项目概要 项目大纲 项目准备 项目代码与映射关系 工具包 util 拼音工具 PinyinUtil 创建SQLite数据源 DBUtil 通用工具类 Util 在界面初始化时创建文件信息数据表 DBInit 资源文件 resourse 数据表信息 init.sql 项目界面 app.fxml 软件工作包 app 数据表记…

everything搜索结果 如何不显示已经删除的文件 排除回收站 或者其他目录

按图操作&#xff1a; 添加过滤器 ?:$recycle.bin &#xff0c; 其中&#xff1f;代表任意字符&#xff0c;即包括各个盘下的回收站。之后搜索结果中不再显示已经删除的文件 排除其他文件夹或者过滤器类似&#xff0c;举例&#xff1a; 点击添加文件夹&#xff0c;添加C:\…

everything-链接与安装操作

网址链接&#xff1a;https://www.voidtools.com/zh-cn/下载步骤&#xff1a; 安装步骤&#xff1a; 下载完成后&#xff0c;直接按照即可

Everything+cpolar搭建在线资料库,实现随时随地访问

蒋先生是一家公司的技术人员&#xff0c;偶尔会跟销售出差见客户&#xff0c;而见客户常用的资料都保存在U盘中&#xff0c;但在一次见客户时资料损坏&#xff0c;幸好安装了CpolarEverything&#xff0c;及时从办公室电脑上下载了资料&#xff0c;顺利完成对客户的技术讲解。现…

搜索工具推荐 Windows中的everyting 和 mac下的alfred

1、Windows中的everyting&#xff0c;百度搜索安装包即可 图标&#xff1a; 2、和 mac下的alfred&#xff0c; app store搜索即可 图标&#xff1a; 注意&#xff0c;如果安装后搜索不到电脑内容&#xff0c;只能百度搜索&#xff0c;可勾选下方截图选项

Everything的使用-初级篇

Everything的使用-初级篇 这篇介绍如何使用Everyting这个神兵利器安装初步使用日常需要的搜索技巧需要满足多个条件的&#xff0c;用空格把条件隔开多个条件至少满足一个的&#xff0c;用 | 把条件隔开复杂条件组合,用<>尖括号来组合条件全句匹配的搜索一个名字在全句匹配…

Java 中删除List中指定的元素

最近在写软件构造实验&#xff0c;需要删除List中一个满足条件的值&#xff0c;自然而然想到通过调用List中的remove()函数进行删除&#xff1a;代码如下&#xff1a; private final List<Edge<L>> edges new ArrayList<>();Iterator<Edge<L>>…

Python list 删除指定多个下标位置的元素——方法汇总

缘起 最近有段时间不敲代码了&#xff0c;昨天一个好兄弟突然跑过来说问我一道面试题&#xff0c;欣然答应之后发现自己一下被问懵了&#xff0c;由此做一下简单记录。关于该问题的博客数目很多&#xff0c;这里只是给一个总结&#xff0c;也算是记录一下自己的心得。 题目 …

python中删除list中某指定元素

python要删除一个列表中的某个元素&#xff0c;知道这个元素是什么但不知道它的索引&#xff0c;就可以用list.romove 知道索引的话就可以用del来删除

高清图片网站

目录&#xff1a; 1、高清壁纸网站&#xff08;免费&#xff09; 2、动漫图片网站&#xff08;部分需翻墙&#xff09; 3、高清素材网站&#xff08;免费&#xff09; 分割线 一、高清壁纸网站 免费的高清壁纸网站介绍。 2.alphacoders 地址&#xff1a;https://wall.a…