Попов Андрей Владимирович

Задания по курсу "Языковые средства поддержки сценариев Windows"


Командные файлы Windows

Вариант 1
  1. С помощью командного файла выполнить следующие действия. Скопировать файлы 1.txt, 2.txt, 3.txt в файл all.txt без символа конца файла. Отсортировать all.txt по фамилиям, результат поместить в файл names.txt. Убрать из names.txt данные на Иванова, отсортировать строки по возрастанию первого числового кода.
  2. Написать командный файл changer.bat для изменения в файле, имя которого указывается в качестве параметра командной строки, всех символов a на b. При запуске сценария должно вывестись первоначальное содержимое файлы и результат замены символов, например:
    changer test.txt
    
    Было в файле test.txt:
    ------------------------
    aaa qq ddd
    wregrwe gg a
    fgreghthjh
    ------------------------
    
    Стало в файле test.txt:
    ------------------------
    bbb qq ddd
    wregrwe gg b
    fgreghthjh
    ------------------------
    
  3. Написать командный файл, который при запуске выводил бы на экран свое имя, путь к файлу и все параметры командной строки с указанием их порядкового номера. Например, если файл называется pr.bat, то при таком вызове:
    pr.bat a b c def
    на экран должна вывестись информация следующего вида:
    Имя файла: pr.bat
    Путь к файлу: D:\Labs\2
    Параметр 1: a 
    Параметр 2: b
    Параметр 3: c
    Параметр 4: def 
    
  4. Написать командный файл, который печатал бы имя компьютера, на котором он запущен, общее число переменных среды, определенных в системе, и после нажатия клавиши выводил на экран имена этих переменных (без значений) вместе с порядковым номером. Таким образом, на экран должна выводиться информация следующего вида:
    Компьютер: TEST01
    Количество переменных в системе: 33 
    -------------------------------------- 
    1. CLASSPATH 
    2. CLIPPER 
    3. COMPUTERNAME 
    4. COMSPEC 
    5. HOMEDRIVE 
    6. HOMEPATH 
    :
    
  5. Написать сценарий для удаления лидирующих нулей из параметра командной строки, соответствующего числу (количество нулей может быть любым). Например, строка 00000123 должна поменяться на 123. Полученное число командный файл должен записать в текстовый файл del_zero.log с указанием даты и времени совершения данной операции.
  6. Создать командный файл zero.bat, который будет искать в каталоге, указанном в качестве параметра командной строки, и всех его подкаталогах все файлы нулевого размера. Имена найденных файлов нужно вывести на экран, после чего удалить эти файлы.
  7. Пусть в каталоге записаны файлы вида ММДД*.* (номера месяца и дня в месяце, после которых идут произвольные символы, например 0121_001.dat, 0121_002.dat, 0122_015.dat, 1231_001.dat). Нужно с помощью командного файла для каждой встречающейся даты создать подкаталог (имя ММДД, для нашего примера 0121, 0122 и 1231) и переместить туда все соответствующие файлы.
Вариант 2
  1. Написать командный файл copir.bat, который будет копировать из текущего каталога все файлы с определенным расширением, указанным первым параметром командной строки, кроме одного файла, указанного в качестве второго параметра командной строки, в каталог, указанный третьим параметром. Например, следующая команда должна скопировать в каталог d:\Folder1 все файлы с расширением txt кроме файла file1.txt:
    copir.bat txt file1.txt d:\Folder1
    
    Если имя каталога, в который должно производиться копирование, не задано, то сценарий должен вывести сообщение об этом и прервать выполнение файла.
  2. С помощью командного файла создать в текущем каталоге подкаталог с именем в формате ГГГГММДД, совпадающим с текущей датой. Затем сценарий должен скопировать в этот подкаталог все файлы и папки, находящиеся на рабочем столе активного пользователя. Работа данного сценария не должна зависеть от имени активного пользователя.
  3. Написать командный файл для переименования одного файла путем замены всех пробелов в его имени на символы подчеркивания. Имя изменяемого файла должно указываться (в кавычках ) в качестве параметра командной строки. Модифицировать полученный сценарий для переименования всех файлов, находящихся в каталоге, указанном в качестве параметра командной строки.
  4. Вывести на рабочий стол пользователя текстовый файл, в названии которого был бы написан IP-адрес и имя компьютера (например, 10.180.1.205_Computer1.txt). В самом файле сохранить MAC-адрес (физический адрес) компьютера. Работа данного командного файла не должна зависеть от имени активного пользователя.
  5. Написать командный файл, который запускается с одним параметром командной строки и последовательно со смещением выводит подстроки этого параметра с указанием номера итерации, например:
    test.bat abcdef
    1. abcdef
    2. bcdef
    3. cdef
    4. def
    5. ef
    6. f
    
  6. Создать командный файл lister.bat, который выводил бы количество строк в текстовом файле, имя которого задается в качестве параметра командной строки, а также первую и последнюю строку из этого файла:
    lister.bat 1.txt
    
    
    В файле 1.txt 12 строк(и)
    Первая строка:
    Это первая строка в файле
    
    Последняя строка:
    Это последняя строка в файле
    
    Если нужный файл не удастся найти, вывести соответствующее сообщение и прервать работу файла.
  7. Написать командный файл для вычисления факториала натурального числа, которое будет указываться в качестве параметра командной строки.

Сценарии WSH

Вариант 1
  1. Написать сценарий changea.vbs, который переключал бы атрибут "Архивный" у файла, имя которого задается в качестве параметра командной строки. Например, если у файла example.txt был установлен атрибут "Архивный", то команда cscript changea.js example.txt должна сбросить этот атрибут у example.txt; если же первоначально файл не имел атрибута "Архивный", то его нужно установить. В сценарии должна быть предусмотрена проверка наличия указанного файла на диске.
  2. Создать с помощью сценария текстовый файл 'Отчет по дискам.txt', в котором содержалась бы информация о дате и времени создания отчета, а также таблица использования дискового пространства на всех логических дисках локального компьютера (буква диска, метка тома, общий объем диска, объем свободной и используемой частей диска). Полученный файл с отчетом автоматически открыть с помощью Блокнота Windows.
  3. Написать сценарий, сохраняющий информацию о логических дисках компьютера (см. задание 2), в файл Microsoft Word.
  4. Вывести с помощью сценария имена всех файлов, находящихся на рабочем столе активного пользователя.
  5. Оформить сценарии заданий 1-4 в виде одного многозадачного сценария Variant1.wsf.
Вариант 2
  1. Написать сценарий changea.vbs, который переключал бы атрибут "Только для чтения" у файла, имя которого задается в качестве параметра командной строки. Например, если у файла example.txt был установлен атрибут "Только для чтения", то команда cscript changea.js example.txt должна сбросить этот атрибут у example.txt; если же первоначально файл не имел атрибута "Только для чтения", то его нужно установить. В сценарии должна быть предусмотрена проверка наличия указанного файла на диске.
  2. Создать с помощью сценария HTML-файл 'Отчет по дискам.htm', в котором содержалась бы информация о дате и времени создания отчета, а также таблица использования дискового пространства на всех жестких дисках локального компьютера (буква диска, метка тома, общий объем диска, объем свободной и используемой частей диска). Полученный файл с отчетом автоматически открыть с помощью браузера Internet Explorer.
  3. Написать сценарий, сохраняющий информацию о логических дисках компьютера (см. задание 2), в файл Microsoft Excel.
  4. Вывести с помощью сценария имена всех файлов, находящихся в папке "Избранное" активного пользователя.
  5. Оформить сценарии заданий 1-4 в виде одного многозадачного сценария Variant2.wsf.

Сценарии PowerShell

Вариант 1
  1. С помощью конвейера команд PowerShell сформировать список из 5 процессов, использующих наибольшее время процессора (сортировка должна быть по данному параметру). Полученный результат сконвертировать в HTML-формат.
  2. Написать сценарий CheckLnk.ps1, который проверял бы на корректность ярлыки на рабочем столе активного пользователя. Все ярлыки, которые указывают на несуществующие файлы или каталоги, должны быть перемещены в каталог BadLinks.
  3. Открыть с помощью PowerShell программу Microsoft Word, создать там новый документ, напечатать строку "Привет от PowerShell" (размер шрифта 12, курсив), сохранить созданный файл.
  4. С помощью WMI-объекта Win32_OperatingSystem получить информацию о свободной оперативной памяти и полной памяти, установленной на компьютере.
Вариант 2
  1. С помощью конвейера команд PowerShell вывести информацию об именах и статусах всех служб, зарегистрированных на компьютере. Запущенные службы (статус "Running") должны выводиться на экран зеленым цветом, остановленные службы (статус "Stopped") - красным цветом.
  2. Написать сценарий CheckLnk.ps1, который выводил бы информацию об именах и размерах всех файлов на рабочем столе активного пользователя. Полученный список должен быть отсортирован по размеру файлов и сконвертирован в HTML-формат.
  3. Открыть с помощью PowerShell программу Microsoft Excel, создать там новый документ, вывести в ячейку B2 строку "Привет от PowerShell" (размер шрифта 12, курсив), сохранить созданный файл.
  4. С помощью WMI-объекта Win32_Processor получить информацию о процессорах: название, производитель, скорость.

Попов Андрей Владимирович, E-mail: andpop@mail.ru, Homepage: http://popov.math.mrsu.ru