代码之家  ›  专栏  ›  技术社区  ›  Aly

从C运行bat脚本#

  •  3
  • Aly  · 技术社区  · 15 年前

    我正试图从一个c-sharp程序中运行一个批处理脚本,我正在使用的代码如下所示:

     Process proc = new Process();
     proc.StartInfo.FileName = "G:\\Media\\Downloads\\print.bat";
     proc.Start();
    

    echo hello > output.txt
    

    当我从windows资源管理器运行脚本时,它会工作,但从C代码运行时不会工作。

    另外,如何在进程完成时为其提供回调方法?

    谢谢

    1 回复  |  直到 15 年前
        1
  •  7
  •   Ani    15 年前

    对我来说很好。我猜发生的情况是,当您以编程方式执行批处理文件时,您希望在 Downloads 文件夹,当它实际上是在 应用程序的

    要么完全限定批处理文件中的输出文件路径,要么更改已启动进程的工作目录,如下所示:

    proc.StartInfo.WorkingDirectory = @"G:\Media\Downloads\";
    

    WaitForExit 方法或 Exited Process 反对。