C#搜索和获取软件的绝对路径

本文关键字:路径 软件 搜索 获取 | 更新日期: 2023-09-27 18:00:05

我是C#的新手,我想在控制台应用程序中创建一个自动运行管理器。为此,我想从控制台读取一个关键字,如"Steam",我的程序应该在"C:''"所有子目录中搜索一个名为文件夹,如我的关键字何在所有子目录中搜索

这是一个带有steam的小代码示例,我将如何在注册表中编写

//filePath would be the Path of the .EXE file that was found    
string filePath = "'"C:''Programme''Steam''Steam.exe'""; 
string autostartPath = @"Software'Microsoft'Windows'CurrentVersion'Run'";
RegistryKey autostart = Registry.CurrentUser.OpenSubKey(autostartPath, true);
autostart.SetValue("Steam", filePath);

如果有人知道如何所有子目录中搜索,请找到正确的.exe文件。

如果有代码示例,我将非常感谢。

提前感谢

C#搜索和获取软件的绝对路径

使用Directory.GetFiles():相对容易

string[] Files = Directory.GetFiles(@"C:'", "steam.exe", SearchOption.AllDirectories);

这将在C:''和所有子目录中搜索与名称steam.exe匹配的所有文件,并以string数组的形式返回所有结果。

请注意,您可以在名称中使用通配符,这样"steam*.exe"将返回所有以steam开头、扩展名为exe的文件。

如果需要,可以将using System.IO添加到类的顶部以导入IO命名空间。