Мне нужно что-то, что пойдет и проверит как System.IO.DirectoryInfo(@"d:\");
, но для каждого жесткого диска, кроме C E F. Мне нужно что-то стабильное, если я буду покупать новые жесткие диски в будущем.C# DirectoryInfo на нескольких жестких дисках
ответ
Непонятно, что вы просили, но я думаю, вы можете использовать метод Environment.GetLogicalDrives()
.
Возвращает массив строк, содержащий имена логических дисков на текущем компьютере.
string[] drives = Environment.GetLogicalDrives();
foreach (var drive in drives)
{
Console.WriteLine(drive);
}
В моем компьютере, выход;
C:\
D:\
Q:\
Y:\
Z:\
Как Alternativly, взгляните на DriveInfo.GetDrives
метод.
Извлекает имена дисков всех логических дисков на компьютер.
Пример от MSDN страница;
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
Console.WriteLine("Drive {0}", d.Name);
Console.WriteLine(" File type: {0}", d.DriveType);
if (d.IsReady == true)
{
Console.WriteLine(" Volume label: {0}", d.VolumeLabel);
Console.WriteLine(" File system: {0}", d.DriveFormat);
Console.WriteLine(
" Available space to current user:{0, 15} bytes",
d.AvailableFreeSpace);
Console.WriteLine(
" Total available space: {0, 15} bytes",
d.TotalFreeSpace);
Console.WriteLine(
" Total size of drive: {0, 15} bytes ",
d.TotalSize);
}
Вы можете получить эти данные;
Drive C:\
File type: Fixed
Volume label:
File system: NTFS
Available space to current user: 447202275328 bytes
Total available space: 447202275328 bytes
Total size of drive: 500105216000 bytes
Drive D:\
File type: CDRom
Drive Q:\
File type: Network
Volume label: HDS4
File system: NTFS
Available space to current user: 4053897216 bytes
Total available space: 4053897216 bytes
Total size of drive: 1188893290496 bytes
Drive Y:\
File type: Network
Volume label: Data
File system: NTFS
Available space to current user: 5525561344 bytes
Total available space: 5525561344 bytes
Total size of drive: 72958230528 bytes
Drive Z:\
File type: Network
Volume label: HDS3
File system: NTFS
Available space to current user: 147224600576 bytes
Total available space: 147224600576 bytes
Total size of drive: 1230321479680 bytes
Возможно ли использовать (@ "c: \ FTP \, g: \ FTP \")? –
@ IngelaTörner Я не понимаю. 'c: \ FTP' и' g: \ FTP' - это папки. Вам нужна информация об этих папках для всех дисков? Просьба уточнить. –
Мне нужно получить каталог с несколькими жесткими дисками с одним утверждением. Помимо C, E, F. –
Я думаю, что вы ищете
var drives = DriveInfo.GetDrives();
foreach (var di in drives)
{
Console.WriteLine(di.Name);
}
Вы можете получить имена дисков всех логических дисков на компьютере с помощью DriveInfo.GetDrives Method
Этот метод возвращает массив DriveInfo. Используя свойство DriveInfo.DriveType, вы также можете исключить, например, CDRoms или сетевые диски.
Хочешь это пойти?
public static IEnumerable<DirectoryInfo> GetSelectedDirectoryInformation(String argDirectoryName, IEnumerable<String> argExcludeDrives)
{
foreach(DriveInfo di in DriveInfo.GetDrives())
{
if ((argExcludedDrives == null) || (!argExcludedDrives.Contains(di.Name)))
{
string directory = Path.Combine(di.Name,argDirectoryName);
if (DirectoryExists(directory))
{
yield return new DirectoryInfo(directory);
}
}
}
}
Теперь в один шаг, вы можете сделать
foreach(DirectoryInfo di in GetSelectedDirectoryInformation("FTP",new string[] {@"C:\",@"E:\",@"F:\"}))
{
// Do something with it.
}
Если кто-то умный приходит и делает это с помощью одной лямбды, я дам им 10. –
- 1. Рельсы на нескольких жестких дисках?
- 2. Хранение данных на жестких дисках
- 3. Определение скорости чтения/записи на жестких дисках
- 4. Управление данными на жестких дисках GCE
- 5. Список информации о жестких дисках на удаленных компьютерах в домене
- 6. Использование R - Как найти файл/папку на всех дисках (жестких дисках, а также USB-накопителях)
- 7. Как Hadoop пишет на жестких дисках каждого узла данных?
- 8. ioctl и hdreg для получения информации о жестких дисках
- 9. с помощью C# как я могу извлечь информацию о жестких дисках, присутствующих на локальном компьютере
- 10. распространение данных mysql на нескольких дисках
- 11. Использование DirectoryInfo в C#
- 12. Чтение параллельно с нескольких жестких дисков
- 13. Как найти определенный файл на нескольких дисках? Пакет
- 14. Найти идентичные файлы в папке или жестких дисках при выборе папки на дереве
- 15. Как показать в моей веб-странице файлы, хранящиеся на разных жестких дисках?
- 16. DirectoryInfo Enumeration
- 17. Как определить наличие нескольких жестких дисков?
- 18. Использование DirectoryInfo на веб-сервере
- 19. MAMP htdocs на разных дисках
- 20. запуск пакетного скрипта на разных дисках
- 21. C# - Удалить определенные файлы из DirectoryInfo
- 22. DirectoryInfo GetFiles() filter grid
- 23. Пространство на дисках с использованием R
- 24. C#: Как войти на акцию при использовании DirectoryInfo
- 25. Windows 8.1 install, потерянные программы, установленные на не-C-дисках
- 26. Считывание жестких ссылок на файлы?
- 27. Настройки приложения + DirectoryInfo/FileInfo
- 28. Поиск определенной папки на всех дисках
- 29. Получение свободного пробега на нескольких серверах на разных дисках с помощью powershell
- 30. DirectoryInfo объекта не выпустило
непонятно, что вы пытаетесь достичь –
Вы сделали заявление. В чем вопрос? –
Вместо выполнения (@ "d: \"); как я могу использовать, например, жесткий диск g? –