У меня есть приложение, которое запрашивает базу данных о местонахождении вложенной папки, используемой для задачи, и открывает эту папку (используя класс ProcessStartInfo
для запуска explorer.exe
и передачи имени папки в качестве аргумента).
Это работает нормально, за исключением нескольких папок, которые содержат запятые (и, к сожалению, их много!)
Скажем, для папки с именем C:\this,folder\
она пытается запустить "папка».Как я могу заставить его трактовать запятую как дословно?
Пример кода:
public void LaunchExplorer() {
ProcessStartInfo explorer = new ProcessStartInfo();
string windir = Environment.GetEnvironmentVariable("WINDIR");
System.Diagnostics.Process prc = new System.Diagnostics.Process();
prc.StartInfo.FileName = windir + @"\explorer.exe ";
prc.StartInfo.Arguments = @"c:\this,folder";
prc.StartInfo.UseShellExecute = false;
try
{
prc.Start();
}
catch
{
MessageBox.Show("cannot open folder " + prc.StartInfo.Arguments);
}
}