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);
/************* Конец *********************************************/
Поделиться:
Популярные книги
Треск штанов
6. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Низший - Инфериор. Компиляция. Книги 1-19
Фантастика 2023. Компиляция
Фантастика:
боевая фантастика
5.00
рейтинг книги
Купеческая дочь замуж не желает
Фантастика:
фэнтези
6.89
рейтинг книги
Враг из прошлого тысячелетия
4. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Фиктивная жена
1. Братья Вертинские
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Темный Охотник
1. КО: Темный охотник
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Мастер Разума III
3. Мастер Разума
Фантастика:
героическая фантастика
попаданцы
аниме
5.25
рейтинг книги
Отборная бабушка
Фантастика:
фэнтези
юмористическая фантастика
7.74
рейтинг книги
Кодекс Охотника. Книга X
10. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
6.25
рейтинг книги
Сумеречный Стрелок 2
2. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Купидон с топором
Любовные романы:
современные любовные романы
7.67
рейтинг книги
Отмороженный 4.0
4. Отмороженный
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Черный Маг Императора 5
5. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
На границе тучи ходят хмуро...
1. Александр Агренев
Фантастика:
альтернативная история
9.28