На заметку! Некоторые атрибуты не могут быть установлены программно. Например, атрибут Encrypted устанавливается операционной системой, только если вы используете EFS (Encrypting File System — файловая система с шифрованием) для криптографической защиты файлов.
Объекты DirectoryInfo и Directory — оба представляют способ поиска в текущем каталоге файлов или каталогов, соответствующих определенному выражению фильтра. Эти поисковые выражения могут использовать стандартные символы шаблонов * и ?. Шаблон ? представляет любой единственный символ, а * — любую последовательность из нуля или более символов. Например, следующий фрагмент кода извлекает имена всех файлов, находящихся в каталоге c:\temp и имеющих расширение .txt. Затем код проходит по элементам полученной коллекции FileInfo найденных файлов и отображает имя и размер каждого на них.
DirectoryInfo dir = new DirectoryInfо(@"c:\temp");
// Получить все файлы с расширением .txt.
FileInfo[] files = dir.GetFiles("*.txt");
// Обработать каждый файл.
foreach (FileInfo file in files)
{ ... }
Подобной техникой можно воспользоваться для извлечения каталогов, удовлетворяющих определенному поисковому шаблону, используя перегруженный метод DirectoryInfo.GetDirectories(). Методы GetFiles() и GetDirectories() осуществляют поиск только в текущем каталоге. Чтобы пройти по всем вложенным подкаталогам, вы должны применить рекурсивную логику.
Информация о версиях файлов — это такая информация, которую вы видите, просматривая свойства файла ЕХЕ или DLL в проводнике Windows. Информация о версии обычно включает номер версии, наименование компании-производителя компонента, информацию о торговой марке и так далее.
Классы FileInfо и File не предоставляют способа получения информации о версии. Однако вы можете извлечь ее достаточно легко, используя статический метод GetVersionInfo() класса System.Diagnostics.FileVersionInfo. Следующий пример использует эту технику для получения строки с полной информацией о версии, а затем отображает ее в метке:
string fileName = @"c:\Windows\explorer.exe";
FileVersionInfo info = FileVersionlnfo.GetVersionInfo(fileName);
lblInfo.Text = info.FileVersion;
В табл. 13.8 перечислены свойства, которые вы можете прочесть.
предыдущая следующая страница вначало главы оглавление
581