2015-04-08 2 views
2

Я создаю консольное приложение на C#, и я хочу проверить, есть ли конкретный файл (foo.exe). Но когда путь содержит пробелы (C:\A Folder With Spaces\), он проверяет, существует ли в этом каталоге foo.exe: C:\A.Пробелы в пути к файлу

Вопрос: Как я могу проверить внутри папки, содержащей пробелы?

+1

используйте знак «@» для строкового литерала: @ «C: \ A Папка с пробелами» –

+0

@ ro-E Нет, это не работает – bramhaag

+0

вы не можете вставить фактический код? @bramhaag –

ответ

1

Похоже, вы передаете имя файла в качестве параметра командной строки. В этом случае разделение в пространстве выполняется с помощью командного процессора Windows cmd, когда вы передаете C:\A Folder With Spaces\ в качестве параметра. Чтобы исправить это, заключите имя файла в doublequotes:

c:\test>myprog.exe "C:\A Folder With Spaces\foo.exe" 
+0

Спасибо! Сейчас он работает – bramhaag

1
If (File.Exists(@"C:\A Folder With Spaces\foo.exe") 
{ 
    //the @ sign makes the spaces be taken literally. 
} 
1

Похоже, вы поставляете путь в качестве аргумента в консольном приложении? В этом случае заключите аргумент path в кавычках

Смежные вопросы