在项目中,将本地C盘的一个文件夹使用subst命令映射成了X盘,在C#代码中需要获取这个X盘在C盘中的真实路径。但是在C#中并没有找到相应的接口来获取这个结果,或许是我没有找到。在DOS中有命令subst,可以显示所有被映射的虚拟驱动盘,所以或许可以使用C#执行DOS命令来获取相应的结果。执行结果如图所示。

  在这里封装了一个方法,可以用于执行任何的DOS命令,并且返回结果字符串。
<span style="white-space:pre"> </span>public string Execute(string dosCommand, int milliseconds)
{
string output = "";     //输出字符串
if (dosCommand != null && dosCommand != "")
{
Process process = new Process();     //创建进程对象
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "cmd.exe";      //设定需要执行的命令
startInfo.Arguments = "/C " + dosCommand;   //设定参数,其中的“/C”表示执行完命令后马上退出
startInfo.UseShellExecute = false;     //不使用系统外壳程序启动
startInfo.RedirectStandardInput = false;   //不重定向输入
startInfo.RedirectStandardOutput = true;   //重定向输出
startInfo.CreateNoWindow = true;     //不创建窗口
process.StartInfo = startInfo;
try
{
if (process.Start())       //开始进程
{
if (milliseconds == 0)
process.WaitForExit();     //这里无限等待进程结束
else
process.WaitForExit(milliseconds);  //当超过这个毫秒后,不管执行结果如何,都不再执行这个DOS命令
output = process.StandardOutput.ReadToEnd();//读取进程的输出
}
}
catch
{
}
finally
{
if (process != null)
process.Close();
}
}
return output;
}
<span style="white-space:pre">  </span>string result = Execute("subst", 1000);
 
上一页123下一页
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。