Альтернатива для окружающей среды.GetCommandLineArgs()

StackOverflow https://stackoverflow.com/questions/2246566

  •  20-09-2019
  •  | 
  •  

Вопрос

Просто интересно, есть ли другой способ справиться с этим, поскольку аргументы разделяются при передаче следующим образом:

System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo(fileName);
psi.Arguments = @"c:\dir1\dir2\dir3\file1.txt";
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo = psi;
p.Start();

Затем, в новом приложении, когда мы получаем доступ к среде.GetCommandLinesARgs() Мы получаем массив, который выглядит следующим образом:

string[] arr = {"filename","c:\dir1","dir2","dir3", "file1.txt"}
Это было полезно?

Решение

Проблема в том, что вы неправильно передаете аргументы.

Вам нужно заключить путь в кавычки, вот так:

psi.Arguments = @"""c:\dir1\dir2\dir3\file1.txt""";
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top