C#双引号参数

时间:2015-06-15 08:27:31

标签: c#

在app.config文件中,我有:

add key="DataFileLocation" value="E:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\"/>

在我的代码中:

Process P2 = new Process();
P2.StartInfo.FileName = "restore.bat";
P2.StartInfo.Arguments = + "\"" + DataFileLocation.ToString() + "\"";
P2.StartInfo.UseShellExecute = false;
P2.StartInfo.RedirectStandardOutput = true;
P2.StartInfo.CreateNoWindow = true;
P2.Start();

'restore.bat'的输出是:

-v dataloc=\"E:\\Program Files\\Microsoft SQL Server\\MSSQL12.MSSQLSERVER\\MSSQL\\DATA\\\"

正如你所看到的,开头有一个额外的“\”,它打破了bat / sql语句......

安德鲁

1 个答案:

答案 0 :(得分:0)

在您的情况下,您似乎已经添加了额外的\,根据您的逻辑输出也是如此。

组合路径的最佳方法是,您应该使用静态Path类提供的Path.Combine方法,它会处理所有额外的\

试试这个

var finalPath = Path.Combine(DataFileLocation.ToString(), "what_ever_path_you_want_to_combine");