首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何逐步解析命令(例如- gacutil)的路径?

如何逐步解析命令(例如- gacutil)的路径?
EN

Stack Overflow用户
提问于 2016-07-01 19:02:59
回答 4查看 208关注 0票数 2

我需要提前调用gacutil从GAC卸载一些二进制文件。

为了能够使用cmd中的gacutil命令,我必须将gacutil路径添加到path变量。但是现在我正在尝试从代码运行gacutil,我需要动态解析gacutil的路径才能启动进程。但是我还找不到解决gacutil路径的方法。有吗?

我确实尝试过按照this answer中的建议扩展path环境变量,但是由于PATH变量上有多个目录(用分号分隔),所以没有简单的方法来解析gacutil路径。

但很明显,当我在cmd中输入gacutil时,它会以某种方式解析path搜索PATH变量中所有可用目录的问题。我如何从代码中实现这一点呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-07-01 19:09:28

如果在path环境变量中指定了PATH,则不需要知道路径:

代码语言:javascript
复制
Process p = new Process();
p.StartInfo.FileName = "gacutil";
p.Start();    
//it automatically resolves path basin on PATH environment variable

..。

票数 1
EN

Stack Overflow用户

发布于 2016-07-01 19:12:34

使用此命令,使用Process.Start启动它并读取输出:

代码语言:javascript
复制
WHERE gacutil
票数 1
EN

Stack Overflow用户

发布于 2016-07-01 19:31:53

当然,如果它在路径中,你不需要像@nopeflow回答的那样搜索它。但是,如果您真的想要获取PATH环境变量中任何文件的路径,您可以这样做:

代码语言:javascript
复制
string[] PathDirs = Environment.GetEnvironmentVariable("PATH").Split(';');
string GACdir="";
foreach (string path in PathDirs)
{
     if (File.Exists(Path.Combine(path,"gacutil.exe")))
     {
            GACdir=path;
     }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38143778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档