Problème avec les espaces dans le chemin - de ligne de commande d'exécution en C#

Je fais construire une interface graphique pour une ligne de commande du programme.
Dans txtBoxUrls[zone de texte] les chemins de fichiers sont entrés ligne par ligne.
Si le chemin d'accès au fichier contient espaces le programme ne fonctionne pas correctement.
Le programme est donné ci-dessous.

string[] urls = txtBoxUrls.Text.ToString().Split(new char[] { '\n', '\r' });

string s1;
string text;
foreach (string s in urls)
{
    if (s.Contains(" "))
    {
        s1 = @"""" + s + @"""";
        text += s1 + " ";
    }
    else
    {
        text += s + " ";
    }
}


System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.CreateNoWindow = true;


proc.StartInfo.FileName = @"wk.exe";


proc.StartInfo.Arguments = text + " " + txtFileName.Text;

proc.StartInfo.UseShellExecute = false;


proc.StartInfo.RedirectStandardOutput = true;


proc.Start();

//Get program output
string strOutput = proc.StandardOutput.ReadToEnd();

//Wait for process to finish
proc.WaitForExit();

Par exemple, si le chemin d'accès au fichier entré dans txtBoxUrls est "C:\VS2008\Projects\web2pdf\web2pdf\bin\Release\Test Page.htm", Le programme ne fonctionnera pas. Ce chemin d'accès au fichier avec des guillemets doubles de travail dans la ligne de commande de windows(je ne suis pas à l'aide de l'interface graphique) bien.
Quelle serait la solution.

Pourquoi êtes-vous en ajoutant txtBoxUrls.Le texte de cette ligne: proc.StartInfo.Arguments = texte + "" + txtBoxUrls.Texte + "" + txtFileName.Texte;
corrigés.

OriginalL'auteur Vinod | 2010-11-15