C#中调用cmd,传值路径中有空格报错的处理方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yuliqi0429/article/details/44309095

<span style="white-space:pre">		</span>//获取当前运行的目录
                string str3 = Directory.GetCurrentDirectory();
                //截取运行目录,从而找到db.xml文件
                int num1 = str3.LastIndexOf("\\");
                string str2 = str3.Substring(0, num1);
                int num2 = str2.LastIndexOf("\\");
                string str1 = str2.Substring(0, num2);
                string path = str1 + "\\cbqdb.sql";
                //MessageBox.Show(str3 + "@@@@" + str2 + "######" + str1+"$$$$$$$$$"+path);

                System.Diagnostics.Process sqlProcess = new System.Diagnostics.Process();
                sqlProcess.StartInfo.FileName = "cmd.exe ";
                sqlProcess.StartInfo.Arguments = "/c " + " echo off echo 导入数据库代码表... ";
                sqlProcess.StartInfo.FileName = "sqlplus.exe ";
                sqlProcess.StartInfo.Arguments = String.Format(@"{0}/{1}@{2} @{3}", username, password, dataserver, "\""+path+"\"");
                sqlProcess.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
                sqlProcess.Start();
                sqlProcess.WaitForExit();//等待执行 
                sqlProcess.Close();

主要的处理方法就是在路径的两边加上转移字符。



注意:是两边一边 一个。。。。

猜你喜欢

转载自blog.csdn.net/yuliqi0429/article/details/44309095
今日推荐