Sar*_*nan 6 c# directory process c#-4.0
我通过以下代码使用C#成功打开了命令提示符窗口.
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.WorkingDirectory = @"d:\pdf2xml";
p.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardInput = true;
p.Start();
p.StandardInput.WriteLine(@"pdftoxml.win32.1.2.7 -annotation "+filename);
p.StandardInput.WriteLine(@"cd D:\python-source\ds-xmlStudio-1.0-py27");
p.StandardInput.WriteLine(@"main.py -i example-8.xml -o outp.xml");
p.WaitForExit();
Run Code Online (Sandbox Code Playgroud)
但是,我也通过命令来更改目录.
问题:
请指导我摆脱这些问题......
Dav*_* Z. 16
要更改启动目录,可以通过将p.StartInfo.WorkingDirectory设置为您感兴趣的目录来更改它.目录未更改的原因是因为参数/c d:\test.而是试试/c cd d:\test
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.WorkingDirectory = @"C:\";
p.StartInfo.UseShellExecute = false;
...
p.Start();
Run Code Online (Sandbox Code Playgroud)
您可以通过将p.StartInfo.WindowStyle设置为Hidden来隐藏命令提示符,以避免显示该窗口.
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
Run Code Online (Sandbox Code Playgroud)
http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.windowstyle.aspx
Waq*_*qar 10
您可以使用p.StandardInput.WriteLine将命令发送到cmd窗口.为此,只需将p.StartInfo.RedirectStandardOutput设置为ture.如下
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
//p.StartInfo.Arguments = @"/c D:\\pdf2xml";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardInput = true;
p.Start();
p.StandardInput.WriteLine(@"cd D:\pdf2xml");
p.StandardInput.WriteLine("d:");
Run Code Online (Sandbox Code Playgroud)