Есть ли какая-то готовая функция для разбора %specialfolders%?
Я хотел бы, чтобы моя программа командной строки принимала параметры файла в виде:
-out:%MyDocuments%dummy.xps
И с %MyDocuments% автоматически заменяется на:
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
Я знаю, что это легко написать функцию, но я думаю, что это уже должно быть сделано где-то, поэтому я не хочу заново изобретать колесо.
1 ответ:
Вы можете использовать
Environment.ExpandEnvironmentVariables(variable);
Входные данные не обязательно должны быть одной переменной, это может быть "запрос", как и ваш путь, со встроенными переменными, и он расширит все те, которые он находит/распознает. Это показано в фрагменте по ссылке, приведенной ниже:
String query = "My system drive is %SystemDrive% and my system root is %SystemRoot%"; str = Environment.ExpandEnvironmentVariables(query); Console.WriteLine("ExpandEnvironmentVariables: {0} {1}", Environment.NewLine, str);