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文件。
如果有代码示例,我将非常感谢。
提前感谢
使用Directory.GetFiles()
:相对容易
string[] Files = Directory.GetFiles(@"C:'", "steam.exe", SearchOption.AllDirectories);
这将在C:''和所有子目录中搜索与名称steam.exe
匹配的所有文件,并以string
数组的形式返回所有结果。
请注意,您可以在名称中使用通配符,这样"steam*.exe"
将返回所有以steam
开头、扩展名为exe
的文件。
如果需要,可以将using System.IO
添加到类的顶部以导入IO
命名空间。