2013-04-20 2 views
3

Я собираюсь написать код C#, который проверяет, существует ли C, D, E ... (Windows-диск) или нет? И, наконец, найдите тот диск, который существует в клиентских окнах, чтобы скопировать туда мои файлы.Проверьте, существует ли Windows-накопитель

Я хочу, чтобы написать код, похожий на следующей логике:

If (!Exist(Drive "C:\")) 
{ 
    If (!Exist(Drive "D:\")) 
    { 
     If (!Exist(Drive "E:\")) 
     { 
     ... 
     search to fined existence drive 
     copy file to a path of that existence drive 
     } 
    } 
} 
+1

Используйте [DriveInfo.GetDrives] (http://msdn.microsoft.com/en-us/library/system.io.driveinfo.getdrives.aspx?cs-save-lang=1&cs-lang=vb#code- snippet-1) – Schaliasos

+0

спасибо ♥:) ♥:) ♥:) ♥ –

+0

+1 @RS BeCoz Хорошие вопросы всегда присваиваются голосованием здесь., – RajeshKdev

ответ

6

попробовать это:

//Get Drive names with DriveInfo.GetDrives() 
var drives= DriveInfo.GetDrives(); 

     foreach (var item in drives) 
     { 
      //Do Something 
     } 

Отредактировано (Проверить существование)

var drives= DriveInfo.GetDrives(); 
     if (drives.Where(data => data.Name == "C:\\").Count() == 1 && 
      drives.Where(data => data.Name == "D:\\").Count() == 1 && 
      drives.Where(data => data.Name == "E:\\").Count() == 1) 
     { 

     } 
+0

спасибо, мед. это было полезно. –

+0

Я тоже вижу ваше редактирование. спасибо, ваш ответ мне очень помогает! Хотелось бы, чтобы у меня хватило репутации, чтобы проголосовать за вас ... :( –

+0

chakhlesim (chakker o mokhlesim): D –

2

Вы можете использовать Directory.Exists(), чтобы проверить, существует ли каталог.

foreach (DriveInfo item in DriveInfo.GetDrives()) 
{ 
     if (Directory.Exists(item.Name)) 
     { 
      // item.name is existed 
     } 
} 

Вы можете узнать о том, что из here.

+1

damet garm dash farhad ♥ (спасибо дорогой Фархад) –

+0

:)) вы добро пожаловать –

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