如何使用环境路径查找可能不完全限定的文件?

2023-11-25

我有一个可执行文件名称,例如cmd.exe并需要解决其完全限定路径。我知道该 exe 出现在列出的目录之一中PATH环境变量。有没有一种方法可以解析完整路径,而无需解析和测试中的每个目录PATH多变的?基本上我不想这样做:

foreach (string entry in Environment.GetEnvironmentVariable("PATH").Split(';'))
    ...

一定有更好的方法,对吗?


这是另一种方法:

string exe = "cmd.exe";
string result = Environment.GetEnvironmentVariable("PATH")
    .Split(';')
    .Where(s => File.Exists(Path.Combine(s, exe)))
    .FirstOrDefault();

结果:C:\WINDOWS\system32

Path.Combine() 调用用于处理不以尾部斜杠结尾的路径。这将正确连接 File.Exists() 方法使用的字符串。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用环境路径查找可能不完全限定的文件? 的相关文章

  • 类型中的属性名称必须是唯一的

    我正在使用 Entity Framework 5 并且有以下实体 public class User public Int32 Id get set public String Username get set public virtual
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • std::list 线程push_back、front、pop_front

    std list 线程安全吗 我假设不是这样 所以我添加了自己的同步机制 我认为我有正确的术语 但我仍然遇到问题 每个函数都由单独的线程调用 Thread1 不能等待 它必须尽可能快 std list
  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • 使用 C# 中的 CsvHelper 将不同文化的 csv 解析为十进制

    C 中 CsvHelper 解析小数的问题 我创建了一个从 byte 而不是文件获取 csv 文件的类 并且它工作正常 public static List
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • C 编程:带有数组的函数

    我正在尝试编写一个函数 该函数查找行为 4 列为 4 的二维数组中的最大值 其中二维数组填充有用户输入 我知道我的主要错误是函数中的数组 但我不确定它是什么 如果有人能够找到我出错的地方而不是编写新代码 我将不胜感激 除非我刚去南方 我的尝
  • 引用的程序集自动由 Visual Studio 替换

    我有 2 个项目 一个可移植类库和一个常规单元测试项目 在可移植类库中 我使用 NuGet 来引用 Microsoft BCL 可移植包 它附带 2 个程序集 System Threading Tasks dll and System Ru
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • 大规模编排与编排的面向服务的架构?

    我是一家大型金融公司的架构师 我们正开始在不同国家实施一个新的面向业务的信息系统 从一开始 核心思想就是尽可能遵循面向微服务的原则 并确保工程师已阅读 Sam Newman 撰写的 构建微服务 一书 现在我已经来到了十字路口 我们的服务主要
  • 从 COPY 命令获取行数

    从文件复制数据时 您可以使用 命令标签 获取 psql 中的行数 db COPY t FROM var lib postgres test sql COPY 10 我需要行数并希望避免冗余count 在桌子上 有没有办法得到这个计数COPY
  • 安全地从字典中删除多个键

    我知道如何删除条目 key 从我的字典里d 安全 你做 if d has key key del d key 但是 我需要安全地从字典中删除多个条目 我正在考虑定义元组中的条目 因为我需要多次执行此操作 entities to remove
  • MongoDB 副本集没有主节点,需要强制创建新的主节点

    我们有一个 mongoDB 副本集 有 3 个节点 Primary 中学 Arbiter 不知何故 我们的副本集最终 1 和 2 都被设置为次要成员 我不确定这是如何发生的 我们进行了服务器迁移 其中一个节点在其上运行 但只有一个 不管怎样
  • Google 地图 API:标记图像定位

    我已经更改了用于marker在谷歌地图上 新图像比旧图像宽得多 我注意到标记与旧图像对齐lat and lng以便标记位于其水平中点上方lat and lng 这不是我想要的 我想要的是lat and lng与左侧的标记对齐 我想偏移mar
  • “溢出”编译器错误 -9223372036854775808L

    的范围长数据类型 is 9223372036854775808 to 9223372036854775807 但以下语句会生成编译器错误 BC30036 溢出 Dim a As Long 9223372036854775808L 在线尝试一
  • HTML/CSS - 为什么打印时背景颜色变成白色?

    打印时 我的背景颜色甚至元素的字体颜色突然变成白色 这是一个示例标记 div div
  • Crystal Report(或 SSRS)在图像周围流动文本

    我想在水晶报表中有这样的布局 我怎样才能做到这一点 如果无法在 CR 或 SSRS 中完成 是否还有其他替代方案 我不相信水晶报表可以做到这一点 我对 SSRS 不太熟悉 但在查看了现场选项后 我也不相信它可以用它来完成 通常 现场位置在报
  • 实体框架批量插入抛出 KeyNotFoundException 错误

    我在用EF6并且由于速度低AddRange 我需要使用的方法BulkInsert 所以我通过以下方式添加了 BulkInsert for EF6 的 NuGet 包here 添加后我收到的第一件事dll是这个警告 发现同一依赖的不同版本之间
  • Apache POI 公式未计算

    因此 我在让 Apache POI 评估公式时遇到一些问题 这是我在编写之前调用的用于评估公式的代码 complete getCreationHelper createFormulaEvaluator evaluateAll complet
  • Woocommerce - 产品价格取决于国家/地区

    我有 2 个关于 Woocommerce for Wordpress 的问题 我正在开发一个向丹麦市场销售扬声器的网站 问题一 我可以检测访客的IP并检测该人来自哪个国家吗 我想这可以通过一些 ClientLocation api 来完成
  • 使用 Javascript 从输入中删除 :valid 伪类

    我有一个包含多个部分的表格 每个部分均使用 Bootstrap 4 验证手动验证 无需实际提交表单 这与下面的代码配合得很好 let eventCreationForm event creation form if eventCreatio
  • Azure AD B2C - 角色管理[重复]

    这个问题在这里已经有答案了 我有一个与 Azure AD B2C 连接的 Asp NET MVC 应用程序 在管理员设置中 我创建了一个管理员组 在我的代码中我想使用 Authorize Roles Administrator 使用常规 A
  • 图问题:在 SQL Server 中通过 NOCYCLE 先前替换进行连接?

    问题 I have the following directed graph 还有这张表 CREATE TABLE dbo T Hops UID uniqueidentifier NULL From nvarchar 1000 NULL T
  • javascript regexp 用于 00-59(秒)之间的数字

    我想检查某个字段是否是有效的时间值 仅秒 所以我想接受从 0 到 59 的数字 我得出了这个 0 5 0 9 这几乎可以完成工作 但排除数字 7 8 9 如果用户数字 07 它就可以工作 但我不想强迫用户数字第一个 0 所以我尝试了这样的操
  • Google Maps API v3:如何将缩放级别和地图中心设置为用户提交的位置?

    我已经使用 Google 的本教程构建了一个网络应用程序 该应用程序可以从用户输入的位置找到最近的商店 http code google com apis maps articles phpsqlsearch v3 html 我的应用程序几
  • 使用 Beautiful Soup 抓取多个 URL

    我正在尝试从多个 URL 中提取特定的类 标签和类保持不变 但我需要我的 python 程序在我输入链接时抓取所有内容 这是我的工作示例 from bs4 import BeautifulSoup import requests impor
  • Doctrine2 ORM 不会刷新在脚本之外更改的对象

    我真的不知道如何给这个标题或搜索一个已经发布的问题 所以如果以前在这里见过这个问题 我深表歉意 我使用以下代码得到了一些不需要的结果 get object managers fooManager this gt getContainer g
  • Uint8Array JavaScript 用例

    我刚刚发现 Javascript 通过以下方式输入了数组this关联 我立刻很好奇这些对象对语言有什么好处 我注意到 UInt8Arrays 丢失了 map 类型函数 我将拥有普通数组对象 所以如果你想循环它们 你将需要一个for loop
  • 如何使用环境路径查找可能不完全限定的文件?

    我有一个可执行文件名称 例如cmd exe并需要解决其完全限定路径 我知道该 exe 出现在列出的目录之一中PATH环境变量 有没有一种方法可以解析完整路径 而无需解析和测试中的每个目录PATH多变的 基本上我不想这样做 foreach s