سؤال

فقط أتساءل عما إذا كانت هناك طريقة أخرى للتعامل مع هذا كما يتم تقسيم الوسائط عند المرور مثل هذا:

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();

ثم، في التطبيق الجديد عند الوصول إلى Environment.getCommandlinesArgs () نحن نحصل على صفيف يبدو وكأنه هذا:

string[] arr = {"filename","c:\dir1","dir2","dir3", "file1.txt"}
هل كانت مفيدة؟

المحلول

المشكلة هي أنك لا تمر بالحجج بشكل صحيح.

تحتاج إلى تضمين علامات اقتباس حول المسار، مثل هذا:

psi.Arguments = @"""c:\dir1\dir2\dir3\file1.txt""";
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top