如何在垃圾 exe 文件和可行的 exe 文件之间过滤
本文关键字:exe 文件 之间 过滤 | 更新日期: 2023-09-27 18:31:24
我现在有所有的exe文件,但问题是x.x它给了我所有的EXE,现在我必须在运行所需应用程序的可执行文件和所有垃圾可执行文件之间过滤。就像在IE浏览器中一样,我有:
C:''Program Files''Internet Explorer''ieinstal.exe
C:''Program Files''Internet Explorer''ielowutil.exe
C:''Program Files''Internet Explorer''iexplorer.exe
但我只想要iexplorer.exe
文件,对我来说,所有其他文件都是垃圾。有没有办法在这些之间过滤?
List<string> path = new List<string>();
List<string> realPaths = new List<string>();
try
{
path.AddRange(Directory.GetFiles(@"C:'Program Files'", "*.exe", SearchOption.AllDirectories));
path.AddRange(Directory.GetFiles(@"C:'Program Files (x86)'", "*.exe", SearchOption.AllDirectories));
foreach (string item in path)
{
string[] parse = item.Split('''');
if (parse.Contains("Common Files")
|| parse.Contains("IIS") || parse.Contains("Microsoft Help Viewer")
|| parse.Contains("Microsoft SQL Server") || parse.Contains("Microsoft SQL Server Compact Edition")
|| parse.Contains("Microsoft Sync Framework") || parse.Contains("Microsoft Synchronization Services")
|| parse.Contains("Microsoft Visual Studio 9.0") || parse.Contains("Microsoft.NET") || parse.Contains("MSBuild")
|| parse.Contains("Reference Assemblies") || parse.Contains("Windows Defender") || parse.Contains("Windows NT")
|| parse.Contains("HTML Help Workshop") || parse.Contains("Microsoft Analysis Services") || parse.Contains("Microsoft ASP.NET")
|| parse.Contains("Microsoft F#") || parse.Contains("Microsoft Games for Windows - LIVE") || parse.Contains("Microsoft SDKs")
|| parse.Contains("Microsoft Silverlight") || parse.Contains("Microsoft Visual Studio 8") || parse.Contains("Microsoft XNA")
|| parse.Contains("Mozilla Maintenance Service"))
{
continue;
}
else
{
realPaths.Add(item);
}
}
foreach (string item in realPaths)
{
Console.WriteLine(item + "'n");
}
}
不,真的没有完美的方法来做你想做的事情;所有的可执行文件基本上都是"生而平等的"。
你到底希望实现什么,为什么?
也许您的目标是仅显示用户可能想要运行的可执行文件?如果这是您的目标,您的问题可能是:"我如何判断用户以前使用过哪些可执行文件,或者将来可能会直接调用哪些可执行文件?
如果这是问题所在,那么您可以提出一种启发式方法来尝试解决问题。您的算法可以执行一些操作,例如查看桌面和"开始"菜单上的快捷方式,以及在 AppPath 和类似位置中注册的基于注册表的程序列表,以尝试推断哪些可执行文件或多或少可能运行。当然,它不会是完美的,但有时不完美的方法总比没有好。