提问人:eddie4005 提问时间:8/31/2023 更新时间:8/31/2023 访问量:32
使用 C# 运行的 Powershell 无法调用 samba
Powershell run with C# cannot call samba
问:
我在 C# 中运行 Powershell 来执行命令时遇到问题。
powerShellProcess1 = new Process();
powerShellProcess1.StartInfo.FileName = "powershell.exe";
powerShellProcess1.StartInfo.RedirectStandardInput = true;
powerShellProcess1.StartInfo.RedirectStandardOutput = true;
powerShellProcess1.StartInfo.UseShellExecute = false;
powerShellProcess1.StartInfo.CreateNoWindow = true;
powerShellProcess1.StartInfo.Verb = "runas";
powerShellProcess1.OutputDataReceived += PowerShellProcess1_OutputDataReceived;
powerShellProcess1.Start();
powerShellProcess1.BeginOutputReadLine();
我如上所述运行Powershell并发送如下命令,但它没有执行。
string samba_loc = SambaLocationBox.Text + " -p ";
string com_port = "serial:" + COMPORT_1.Text + ":115200 -b ";
string set_info = "sama5d27-som1-ek -a sdmmc:0:1:0:8:4 -c ";
string file_loc = "write:" + FileLocationBox.Text + Environment.NewLine;
string powershell_cmd = String.Concat(samba_loc, com_port, set_info, file_loc);
powerShellProcess1.StandardInput.WriteLine(powershell_cmd);
从 C# 调用的 Powershell 可以很好地运行除 sam-ba.exe 之外的其他程序。 命令也执行得很好。 只有 sam-ba.exe 不运行。 (我使用的samba版本信息:sam-ba_v3.7-rc2-win32)
怀疑存在权限问题,我在管理员模式下配置了应用程序并运行 Powershell,但没有改进。
请告诉我我在做什么样的蠢事。
答: 暂无答案
上一个:如何通过窗口查找虚拟机
评论
powershell_cmd
sam-ba.exe
var proc = new Process(); proc.StartInfo.FileName = SambaLocationBox.Text;
powerShellProcess1.StandardOutput.ReadLine()