title: Escape string for Process.Start
body: <p>How can I escape an unknown string for passing to Process.Start as an argument?</p>
  
  <p>I currently escape basic quotes and backslashes, but recently my input has started to contain things like <a href="http://www.fileformat.info/info/unicode/char/ff02/index.htm" rel="nofollow noreferrer">http://www.fileformat.info/info/unicode/char/ff02/index.htm</a> (Fullwidth quotation mark).</p>
  
  <p>So my question is, what all do I need to escape to safely pass a string as an argument for Process.Start?</p>
  
  <p><strong>Edit:</strong>
  So I need to clarify this. What I really am looking for is a list of all characters that have to be escaped in a quoted string ("foo") for cmd.exe. I originally dealt with double quote character as well as backslash character, but I finally had some input that contained a fullwidth quotation mark (as referenced above) which also needed to be escaped. So the question is, what else do I need to escape for a quoted string argument passed to cmd.exe with Process.Start?</p>