Windows Script Host для Windows 2000/XP
Шрифт:
Доступ к свойствам файла
Первый пример, который мы рассмотрим, будет посвящен работе с файловой системой. Мы напишем сценарий FileInfoWMI.js, в котором с помощью WMI будет формироваться диалоговое окно с информацией о файле C:\boot.ini (рис. 11.28).
Рис. 11.28. Свойства файла C:\boot.ini
Замечание
Напомним, что из сценария к файловой системе можно получить доступ с помощью стандартного объекта
FileSystemObject
, однако использование WMI дает возможность собрать более полную информацию. Для доступа к файлу на диске нужно создать для этого файла объект класса
DataFile
схемы CIM. Как и при использовании объектов ADSI, это делается с помощью JScript-функции GetObject
, в качестве параметра которой указывается строка вида "winMgmts:Prefix_class.Property=Value
", где параметр Prefix
соответствует используемой схеме (CIM
или Win32
), Class
задает имя требуемого класса, Property
соответствует имени свойства класса, a Value
определяет конкретное значение этого свойства. В нашем случае нужный объект (переменная File
) создается следующим образом: //Создаем объект класса CIM_DataFile для файла C:\boot.ini
File=GetObject("winMgmts:CIM_DataFile.Name='С:\\boot.ini'")
После этого свойства файла извлекаются обычным образом из переменной
File
: //Инициализируем символьную переменную SInfo
SInfo="Информация о файле "+File.Name+"\n\n";
//Извлекаем свойства файла
SInfo+="Имя:\t\t"+File.Name+"\n";
…
//Определяем, доступен ли файл для чтения и записи
SInfo+="\n";
if (File.Readable) SInfo+="Файл доступен для чтения\n"
else SInfo+="Файл не доступен для чтения\n";
if (File.Writeable) SInfo+="Файл доступен для записи\n"
else SInfo+="Фaйл не доступен для записи\n";
Сформированная символьная переменная
SInfo
выводится на экран с помощью метода Echo
объекта WScript
: WScript.Echo(SInfo);
Полностью текст сценария FileInfoWMI.js приведен в листинге 11.20.
Листинг 11.20. Доступ к свойствам файла с помощью WMI
/*******************************************************************/
/* Имя: FileInfoWMI.js */
/* Язык: JScript */
/* Описание: Доступ к свойствам файла с помощью WMI */
/*******************************************************************/
//Объявляем переменные
var
File, //Объект класса CIM_DataFile
SInfo; //Строка для вывода на экран
//Функция для форматирования символьного представления даты
function StrDate(d) {
var s;
s=d.substr(6,2)+"."+d.substr(4,2)+"."+d.substr(0,4)
return s;
}
/************* Начало *********************************************/
//Создаем объект класса CIM_DataFile для файла C:\boot.ini
File=GetObject("winMgmts:CIM_DataFile.Name='C:\\boot.ini'")
//Инициализируем символьную переменную SInfo
SInfo="Информация о файле "+File.Name+"\n\n";
//Извлекаем свойства файла
SInfo+="Имя:\t\t"+File.Name+"\n";
SInfo+="Путь:\t\t"+File.Path+"\n";
SInfo+="Диск:\t\t"+File.Drive+"\n";
SInfo+="Размер:\t\t"+File.FileSize+"\n";
SInfo+="Создан:\t\t"+StrDate(File.CreationDate)+"\n";
SInfo+="Изменен:\t\t"+StrDate(File.LastModified)+"\n";
SInfo+="Открыт:\t\t"+StrDate(File.LastAccessed)+"\n";
SInfo+="Короткое имя:\t"+File.EightDotThreeFileName+"\n";
SInfo+="Расширение:\t"+File.Extension+"\n";
SInfo+="Тип:\t"+File.FileType+"\n";
//Определяем атрибуты файла
SInfo+="\n";
SInfo+="Атрибуты:\n";
if (File.Archive) SInfo+="\tАрхивный\n";
if (File.Hidden) SInfo+="\tСкрытый\n";
if (File.System) SInfo+="\tСистемный\n";
if (File.Compressed) SInfo+="\tСжат с помощью "+File.CompressionMethod+"\n";
if (File.Encrypted) SInfo+="\tЗашифрован с помощью "+File.EncryptionMethod+"\n";
//Определяем, доступен ли файл для чтения и записи
SInfo+="\n";
if (File.Readable) SInfo+="Файл доступен для чтения\n"
else SInfo+="Файл не доступен для чтения\n";
if (File.Writeable) SInfo+="Файл доступен для записи\n"
else SInfo+="Файл не доступен для записи\n";
//Выводим сформированную строку на экран
WScript.Echo(SInfo);
/************* Конец *********************************************/
Поделиться:
Популярные книги
Ученик. Книга третья
3. Ученик
Фантастика:
фэнтези
7.64
рейтинг книги
Кодекс Охотника. Книга XXXV
35. Кодекс Охотника
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Охотник за головами
1. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Хозяин Стужи 3
3. Злой Лед
Фантастика:
аниме
фэнтези
попаданцы
7.00
рейтинг книги
Ваше Сиятельство 5
5. Ваше Сиятельство
Фантастика:
городское фэнтези
аниме
5.00
рейтинг книги
Родословная. Том 3
3. Линия крови
Фантастика:
городское фэнтези
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Гром Раскатного. Том 2
2. Штормовой Предел
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Лекарь Империи 2
2. Лекарь Империи
Фантастика:
городское фэнтези
аниме
дорама
фэнтези
попаданцы
5.00
рейтинг книги
Сирота
1. Помещик
Фантастика:
альтернативная история
5.71
рейтинг книги
Инженер Петра Великого
1. Инженер Петра Великого
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Я еще не царь
25. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Бояръ-Аниме. Газлайтер. Том 33
33. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXVII
27. Кодекс Охотника
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Я еще барон. Книга III
3. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00