C# – 将带有空格的参数传递给进程
我正在尝试将一个参数传递给进程一个名称中包含空格的文件夹。 它无法识别该文件夹。 我怎样才能做到这一点?
string my_arg = @"C:\\program files\\my folder with spaces"; ProcessStartInfo proc = new ProcessStartInfo(); proc.FileName = @"C:\batches\my_batch.bat"; proc.Arguments = @my_arg ; Process.Start(proc);
这个过程不会开始 – 如果我使用名称中没有空格的文件夹,它确实有效。 谢谢!
你正在使用文字字符串; 没有必要逃避反斜杠,事实上,如果你这样做,那么首先不需要使用文字字符串。
另一方面,空格需要特别小心 – 将参数包含在引号中解决了这个问题。
string my_arg = @"""C:\program files\my folder with spaces""";
试试这个:
string my_arg = "\"C:\\program files\\my folder with spaces\"";
尝试执行以下操作,因为带有空格的foldernames应在cmd中引用:
string my_arg = @"""C:\\program files\\my folder with spaces""";
请试试这个
string my_arg = @“\”C:\ program files \ my space with spaces \ |“;
ProcessStartInfo proc = new ProcessStartInfo();
proc.FileName = @“C:\ batches \ my_batch.bat”;
proc.Arguments = @my_arg;
的Process.Start(PROC);