使用powershell批处理文件运行c#exe

时间:2015-02-18 14:22:42

标签: c# powershell exe

嘿,我有一个快速的问题给你们。我有一个我构建的c#控制台应用程序,我需要创建一个Powershell批处理文件来运行它。我是Powershell的新手,并尝试了一些我在网上找到的东西,但无济于事。如果有人可以帮助我,我会非常感激。谢谢!

1 个答案:

答案 0 :(得分:1)

您有更多选择:

  1. &安培; your.exe [参数列表]
  2. Start-Process命令让
  3. 使用.NET Process class
  4. 选项1通常是最简单的选择,只需要调用.exe哪个路径&现在就说出你的名字并且你不需要任何特别的东西(例如以不同的用户等方式运行它)。

    使用选项2& 3当选项1不令人满意时。选项3是最难的"配置,但它为您提供了最大的灵活性和对外部流程的创建和执行的控制。

    更新添加了如何向exe发送参数的示例。对于示例,我使用命令提示实用程序(cmd.exe),因为它可以在任何Win OS上找到):

    $pathToFile= Read-host "Path to file"
    & cmd.exe /C "ECHO This command executed in cmd.exe: pathToFile was $pathToFile"
    

    所以在你的情况下它看起来像:

    $pathToFile= Read-host "Path to file"
    & myProgram.exe "$pathToFile"
    

    并且您的Program类看起来像:

    class Program
    {
        private static string pathToFile;
    
        static int Main(string[] args)
        {
    
            if (args.Any()) pathToFile = args[0];
            if (args.Length>1) {Console.Error.WriteLine("Too many parameters");
                return 1;
            }
            while (string.IsNullOrWhiteSpace(pathToFile))
            {
                Console.Write("PathToFile is missing. Please provide PathToFile:");
                pathToFile = Console.ReadLine();
            }
            // And here you do something with PathToFile
    
        }
    
    }