удаленно удалять файлы с помощью С# и system.io.file

Я пытаюсь удалить файл, расположенный на удаленном сервере с именем tn1pfe-01. Но вместо этого возвращается исключение.

Формат данного пути не поддерживается

Вот моя инструкция:

File.Delete(@"\\"+"tn1pfe-01"+@"\"+"C:\\Users\\skobbi\\Documents\\Fiddler2\\sa.txt" );


person Sami Kobbi    schedule 07.03.2016    source источник
comment
это потому, что это недопустимый путь. \\server\c:\doesnt\work настроить общий ресурс?   -  person Johnno Nolan    schedule 07.03.2016
comment
Этот путь не выглядит правильным. Вы пробовали File.Exists(path)?   -  person Lars Kristensen    schedule 07.03.2016
comment
Теперь это решено, путь был недействительным. Спасибо, стековерфлоу.   -  person Sami Kobbi    schedule 07.03.2016


Ответы (1)


Когда вы получаете доступ к удаленной машине, вы не можете ссылаться на диск как C:\\. Вместо этого вам нужно использовать скрытый административный общий ресурс c$, например.

\svr\c$\Windows\file.txt

Итак, в вашем случае вам понадобится

File.Delete(@"\\"+"tn1pfe-01"+@"\"+"c$\\Users\\skobbi\\Documents\\Fiddler2\\sa.txt");

Если путь к файлу является переменной, содержащей локальный путь, вы можете сгенерировать это, заменив :\ на $\:

string localPath = "c:\\Users\\skobbi\\Documents\\Fiddler2\\sa.txt";
File.Delete(@"\\" + "tn1pfe-01" + @"\" + localPath.Replace(@":\", @"$\"));
person Rhumborl    schedule 07.03.2016