Я создал консольное приложение .NET, которое получает некоторые аргументы командной строки.Консольное приложение не корректно анализирует аргументы с пробелами
Когда я прохожу арг с пробелами, я использую кавычки, чтобы принять эти аргументы так, чтобы они не расщепляется CMD:
C:\MyAppDir> MyApp argument1 "argument 2" "the third argument"
Если я выполнить приложение в Windows XP работает отлично: он получает 3 аргументы:
- argument1
- аргумент 2
- третий аргумент
Однако, если я выполнить его в Windows Server 2008, кажется, игнорировать кавычки: он получает 6 аргументов:
- argument1
- "аргумент
- 2"
- «
- в третьем
- аргумент "
Любые идеи, почему?
ПРИМЕЧАНИЕ: Я напечатал аргументы только когда Main начинает выполнение с помощью этого кода:.
Console.WriteLine("Command line arguments:");
foreach (string arg in args)
{
Console.WriteLine("# " + arg);
}
вы делаете какое-то разбор с аргументами? – animaonline
Показать свой код. – abatishchev
Вы, возможно, читаете \, который может ускользнуть от «?», Вы уверены, что персонаж, которого вы печатаете, действительно является двойной цитатой »? возможно, это персонаж, который выглядит так. Я знаю, что мои настройки в греческом языке создают «но это не так понятно». – ericosg