当前位置:编程学习 > C#/ASP.NET >>

process调用CMd.exe

小弟写了一段程序调用CMD.exe,执行一个EXE文件,完后发现exe文件有时候执行,有时候不执行,后来用建目录的方式测试,发现目录也没有建立。求高人帮忙。
                    ProcessStartInfo pi = new ProcessStartInfo();
                    pi.FileName = "cmd.exe";
                    // p.StartInfo.Arguments = "cd " + SoftPath;
                    pi.UseShellExecute = false;
                    pi.RedirectStandardInput = true;
                    pi.RedirectStandardOutput = true;
                    pi.RedirectStandardError = true;
                    pi.CreateNoWindow = true;
                    Process p = new Process();
                    p.StartInfo = pi;
                    p.Start();
                    p.StandardInput.WriteLine(@"cd\");
                    p.StandardInput.WriteLine("d:");
                    p.StandardInput.WriteLine("cd " + SoftPath);                    
                    p.StandardInput.WriteLine("wmailto -init"); //外部EXE文件初始化
                    p.StandardInput.WriteLine(SMTPMailServer);  //外部EXE文件初始化
                    p.StandardInput.WriteLine(From);            //外部EXE文件初始化
                    p.StandardInput.WriteLine("IBC");//外部EXE文件初始化
                    p.StandardInput.WriteLine(SMTPMailServer);//外部EXE文件初始化
                    p.StandardInput.WriteLine("");//外部EXE文件初始化
                    p.StandardInput.WriteLine("");//外部EXE文件初始化
                    p.StandardInput.WriteLine("mkdir test1"); //建目标测试
                    p.StandardInput.WriteLine("wmailto -spactrak -t" + @"D:\application_data\Temporary_files\SendMail_Status_IBC\IBC8_10_2010.csv abc@abc.com"); //执行一个外部EXE发送邮件。
                    p.StandardInput.WriteLine("exit");
                    p.close();

--------------------编程问答-------------------- 各位大哥救救命啊! --------------------编程问答-------------------- 看来你的DOS 命令不是很熟悉啊 
本来可以 写一起的 比如 cd\ 和 d: 可以写成 "cd /d d: && cd "+ path +"

我不知道你的外部文件初始化是什么意思 难道是执行的意思,这样写没有问题啊
建立目录 直接 md 就可以了 md dirs 至于 
wmailto -spactrak -t" + @"D:\application_data\Temporary_files\SendMail_Status_IBC\IBC8_10_2010.csv abc@abc.com"

DOS 不支持 空格的 如果有空格 那么请用""

--------------------编程问答-------------------- wmailto -spactrak -t" + @"D:\application_data\Temporary_files\SendMail_Status_IBC\IBC8_10_2010.csv abc@abc.com
我调试的时候把这段话复制出来贴到CMD下,是可以运行的啊。现在搞晕了,查不到问题! --------------------编程问答-------------------- 是否要加一个pi.WorkingDirectory =  另外需要执行的Exe 所在目录 --------------------编程问答-------------------- 是否要加一个pi.WorkingDirectory =  另外需要执行的Exe 所在目录
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,