Специальные папки
// Десктоп текущего пользователяvar
WshShell = WScript.CreateObject("WScript.Shell");
strDesktop = WshShell.SpecialFolders("Desktop");
WScript.Echo( strDesktop);
// Десктоп общий для всех пользователей
strDesktop = WshShell.SpecialFolders("AllUsersDesktop");
WScript.Echo( strDesktop);
//Автозагрузка
strDesktop = WshShell.SpecialFolders("Startup");
WScript.Echo( strDesktop);
//Главное меню
strDesktop = WshShell.SpecialFolders("StartMenu");
WScript.Echo( strDesktop);
Задания
Изучить синтаксис и назначение основных объектов программ на WHS.
Запустить и отладить каждый из преведенных выше примеров.
Разработать скрипт, который после запуска выводит имя автора, название лабораторной работы и номер группы в диалоговом окне.
Сформировать в отдельном текстовом файле титульный лист лабораторной работы.
Сформировать в отдельном файле WORD титульный лист лабораторной работы с текущей датой и временем.
Разработать программу для решения квадратных уравнений по введенным командной строке коэффициентам А, B и C (с анализом существования корней, соотвествующими сообщениями пользователю). Реализовать проверку введенных пользователем значений на текст (сообщить в соответсвующем окне об ошибке, если вместо каэффициентов введены строковые).
Модернизировать скрипт в задании 6 так, чтобы расчет корней производился полсле подтверждения в диалоге Ok – Cancel.
Передать в Word список фалов в таблице с указанием имени файла, его размера. Формировать таблицу в Word только для файлов у котрых атрибут Архивный.
Часть 2 Задание 1
вывести данные об авторе и задании (WScript.echo);
var s; //Объявление переменной
// Формирование строки
s="Лабораторная работа N 2\n"+
"Работа с файловой системой WSH\n"+
"Выполнил ст-т гр. ПК-11Д\n";
WScript.Echo (s); // Печать строки
Задание 2
необходимые параметры передавать через командную строку (WScript.Arguments);
Пример на занесение параметров командной строки в массив args:
var i, n, objArgs, s, args; // Объявляем переменные
objArgs = WScript.Arguments; // Создаем объект WshArguments
// Определяем общее количество аргументов
n = objArgs.Count();
s = "Всего аргументов: "+n+"\n";
args = new Array(n);
// цикл по коллекции аргументов
for (i=0; i <= n-1; i++) {
s += objArgs(i)+"\n"; // Формируем строки с аргументами
args[i] = objArgs(i); // Записываем в массив
}
WScript.Echo(s);
Задание 3
выполнить файловую операцию по вариантам (FileSystemObject);
Пример на поиск в текущем каталоге файла наибольшего размера:
var FSO, Path, Fold, F, i = 0, CurSize, MaxSize = 0, MaxF, s;
FSO = WScript.CreateObject("Scripting.FileSystemObject");
// получаем доступ к текущему каталогу
Path = FSO.GetParentFolderName(WScript.ScriptFullName);
Fold = FSO.GetFolder(Path);
// Создаем коллекцию файлов
F = new Enumerator(Fold.Files);
// Цикл по всем файлам
while ( ! F.atEnd()) {
CurSize = F.item().Size; // размер текущего файла
// сравниваем размер
if (CurSize > MaxSize) {
MaxSize = CurSize; // новый максимум
MaxF = F.item(); // файл наибольшего размера
}
// Переходим к следующему файлу
F.moveNext();
i++; // кол-во просмотренных файлов
} // while
s = "В текущем каталоге "+ Fold.Name + " "+i+" файлов.\n"+
"Максимальный размер имеет "+MaxF.Name+" = "+
Math.round(MaxSize/1024) + " Кб";
WScript.echo(s);
