gpt4 book ai didi

c# - 执行 System.Diagnostics.Process cmd.exe 只打开命令提示符,不执行参数

转载 作者:行者123 更新时间:2023-11-30 22:27:28 32 4
gpt4 key购买 nike

我哪里出错了?就像参数甚至没有被执行,它只是打开命令提示符,仅此而已。当您打开一个新的命令提示符时,“结果”(StandardOutput)正是显示的内容....说 Microsoft Windows [版本 6.1.7600] 版权所有...然后是命令提示符开始的路径。

无论如何,这是我的代码:

    private static void ExecuteProcess(string processFile, string processArguments)
{
ProcessStartInfo psi = new ProcessStartInfo(processFile, processArguments);
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
psi.UseShellExecute = false;
//psi.CreateNoWindow = true;

Process p = new Process();
p.StartInfo = psi;

try
{
Cursor.Current = Cursors.WaitCursor;

p.Start();

string output = p.StandardOutput.ReadToEnd();

p.WaitForExit();

Cursor.Current = Cursors.Default;

if (p.ExitCode == 0)
MessageBox.Show(output, "Results");
else
throw new Exception(p.StandardError.ReadToEnd());
}
catch (Exception ex)
{
Cursor.Current = Cursors.Default;
MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
p.Dispose();
}
}

processFile 等于“cmd.exe”processArguments 等于:

csvde -s {servername} -f {filename} -d OU=MyOU,DC=dmz,DC=lan -r "(objectClass=organizationalUnit)" -n

任何关于为什么“参数”没有被执行的帮助都会很棒!

编辑:

到目前为止我发现了一件事,Chris 关于权限的建议是正确的,我需要设置:

psi.Verb = "runas";

但是在执行该过程时,它看起来不像是与该过程关联的用户名,所以我也添加了这一行:

psi.UserName = Environment.UserName;

现在我收到“ stub 收到错误数据”...

最佳答案

来自 the docs :

Cmd

Starts a new instance of the command interpreter, Cmd.exe. Used without parameters, cmd displays Windows XP version and copyright information.

Syntax cmd [[{/c|/k}] [/s] [/q] [/d] [{/a|/u}] [/t:fg] [/e:{on|off}] [/f:{on|off}] [/v:{on|off}] string] Top of page

Parameters

/c : Carries out the command specified by string and then stops.

所以你需要:

  1. 将完整路径传递给 EXE 或
  2. Set the working directory到包含exe的目录

然后

  1. 制作 processFile == "[]csvde.exe",并将其从 processArguments 中删除,或者
  2. processArguments 中添加“/c\””并附加“\”。

关于c# - 执行 System.Diagnostics.Process cmd.exe 只打开命令提示符,不执行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11268290/

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