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);
/************* Конец *********************************************/
Поделиться:
Популярные книги
Кодекс Охотника. Книга ХХ
20. Кодекс Охотника
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
История государства и права зарубежных стран. Шпаргалки
1. Зачет
Научно-образовательная:
история
юриспруденция
5.00
рейтинг книги
Эпоха Опустошителя. Том VII
7. Вечное Ристалище
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
#Бояръ-Аниме. Газлайтер. Том 11
11. История Телепата
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Трон Огня. Дилогия
Фантастика:
фэнтези
6.92
рейтинг книги
Рассказы. Стихотворения
Проза:
рассказ
5.00
рейтинг книги
Том 3. Лица
3. Собрание сочинений в пяти томах
Проза:
русская классическая проза
5.00
рейтинг книги
В ожидании счастья
1. Исповедь королевы
Любовные романы:
исторические любовные романы
6.00
рейтинг книги
Грехи сердца
1. Чуждые
Любовные романы:
любовно-фантастические романы
эро литература
7.81
рейтинг книги
Фэнтези-2005
Фантастика:
фэнтези
социально-философская фантастика
героическая фантастика
боевая фантастика
5.71
рейтинг книги
Обманщик
Проза:
современная проза
5.00
рейтинг книги
Гармоничное развитие ребенка
Научно-образовательная:
педагогика
5.00
рейтинг книги
Толстая
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Трилогия «Хроники Сиалы»
3. В одном томе
Фантастика:
фэнтези
9.47