首页 > 解决方案 > 如何在控制台应用程序中使用 C# 运行 exe 文件

问题描述

我正在尝试在位于网络驱动器上的控制台应用程序中运行 exe 文件。所以需要发生的是应用程序需要使用以下代码将网络驱动器映射到驱动器号:

 private static void MapDrive()
    {
        System.Diagnostics.Process process = new System.Diagnostics.Process();
        System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
        startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
        startInfo.FileName = "net.exe";
        startInfo.Arguments = @"use w: \\<server>\CompanyData\W10 /user:Administrator Password";
        process.StartInfo = startInfo;
        process.Start();
    }

这很好用,并且驱动器号已映射。现在我面临的问题是在这个映射的驱动器中运行 exe 文件。我尝试了以下但似乎不起作用:

 private static void RunSetup()
    {
        System.Diagnostics.Process process = new System.Diagnostics.Process();
        System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
        startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
        startInfo.FileName = "cmd.exe";
        startInfo.Arguments = @"w:\setup.exe";
        process.StartInfo = startInfo;
        process.Start();;
    }

启动 exe 文件似乎没有任何反应。
我需要知道我在这里做错了什么?

谢谢

标签: c#console

解决方案


要么包含“/c”参数

startInfo.FileName = "cmd.exe";
startInfo.Arguments = @"/c w:\setup.exe";

或者FileName直接设置到setup.exe

startInfo.FileName = "w:\setup.exe";

如评论中所述


推荐阅读