Это должно сработать, пробелы тоже будут пропущены.
Однако, если вы хотите экранировать имя файла (которое зависит от запускаемого приложения, т. Е. Робости), сделайте следующее:
string parms = string.Format("\"{0}\"", filechooser.Filename);
psi = new ProcessStartInfo("timidity", parms);
Это создаст строку на основе формата \"{0}\"
. \"
становится кавычкой ("
), а {0}
заменяется первым параметром после строки формата, то есть именем файла.
Вы можете попробовать это с помощью функции «Пуск», «Выполнить» или командной строки (cmd.exe
). Введите робость, затем полное имя файла с пробелами в кавычках и посмотрите, работает ли это:
timidity "my filename"