2012-02-17 4 views
2

Когда я пытаюсь скопировать файл с локальной машины на другую машину в локальной сети, используя метод file.copy() в C#, я столкнулся с говорится об ошибке, формат данного пути не поддерживаетсяФормат данного пути не поддерживается ошибкой с помощью метода File.copy()

Я использую следующий синтаксис

File.Copy(@"C:\temp\sample.txt", @"\\DEMO-PC\D:\DummyFolder\sample.txt", true); 
+1

Если вы наберете \\ DEMO-PC \ D: \ DummyFolder \ в Windows Explorer, это работает? Если это не работает с \\ DEMO-PC \ D $ \ DummyFolder \? –

ответ

9

Попробуйте заменить двоеточие с знаком доллара:

File.Copy(@"C:\temp\sample.txt", @"\\DEMO-PC\D$\DummyFolder\sample.txt", true); 

EDIT

Символ ':' имеет специальный статус в Windows-дорожках; нецелесообразно использовать его во имя общей папки. Символ «$» также имеет особый статус: он используется для обозначения скрытых акций. Windows автоматически создает скрытые общие папки для каждого диска на компьютере; опуская двоеточие, потому что это не является законным, и добавляет '$', чтобы скрыть долю.

Смотрите эту статью базы знаний для получения дополнительной информации: http://support.microsoft.com/kb/314984

+1

Спасибо phoog, который работал для меня, могу я знать, в чем разница в добавлении $ вместо двоеточия? – mahesh

+0

@mahesh Добро пожаловать. Я отредактировал ответ, чтобы добавить дополнительную информацию. – phoog

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