gpt4 book ai didi

c# - 通过 .NET 运行 cmd 命令?

转载 作者:太空狗 更新时间:2023-10-29 23:57:07 24 4
gpt4 key购买 nike

System.Diagnostics.Process proc0 = new System.Diagnostics.Process();
proc0.StartInfo.FileName = "cmd";
proc0.StartInfo.WorkingDirectory = Path.Combine(curpath, "snd");
proc0.StartInfo.Arguments = omgwut;

现在介绍一些背景......

string curpath = System.IO.Path.GetDirectoryName(Application.ExecutablePath);

omgwut 是这样的:

copy /b a.wav + b.wav + ... + y.wav + z.wav output.wav

什么也没有发生。所以很明显出了什么问题。我还尝试将“复制”作为可执行文件,但这不起作用。

最佳答案

尝试使用 /C 为 cmd 的参数添加前缀,有效地说 cmd /C copy /b t.wav ...

根据 cmd.exe /?使用

/C <command>

Carries out the command specified by string and then terminates

对于您的代码,它可能看起来像

// .. 
proc0.StartInfo.Arguments = "/C " + omgwut;

注意事项:

  • 测试您的命令是否有效的一个好方法是在命令提示符下实际尝试。如果你尝试做 cmd.exe copy ...您会看到复制没有发生。
  • 可以作为参数传递的参数的长度是有限制的。来自 MSDN :“最大字符串长度在 .NET Framework 应用程序中为 2,003 个字符,在 .NET Compact Framework 应用程序中为 488 个字符。”
  • 您可以使用 System.IO 绕过命令的脱壳类打开文件并手动连接它们。

关于c# - 通过 .NET 运行 cmd 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/691716/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com