Языковые средства поддержки сценариев Windows (cmd, WSH, PowerShell)
$andpop>
Get-Task -Type CMD -Variant 1
Командные файлы Windows, вариант 1
- Написать командный файл changer.bat для изменения в определенном файле всех вхождений одной буквы на другую. Имя
изменяемого файла указывается первым параметром командной строки, исходная буква - вторым параметром, новая буква -
третьим параметром. Например, команда "changer.bat test.txt a b" означает, что в файле test.txt нужно заменить букву "a" на "b".
При запуске сценария нужно пояснить его действие, а затем вывести первоначальное и измененное содержимое файла:
Z:\>changer test.txt a b
Меняем букву a на b в файле test.txt.
Было:
------------------------
aaa qq ddd
wregrwe gg a
fgreghthjh
------------------------
Стало:
------------------------
bbb qq ddd
wregrwe gg b
fgreghthjh
------------------------
- Написать командный файл, который при запуске выводил бы на экран свое имя, путь к файлу и все параметры
командной строки с указанием их порядкового номера. Например, если файл называется pr.bat, то при таком вызове:
pr.bat a b c def
на экран должна вывестись информация следующего вида:
Имя файла: pr.bat
Путь к файлу: D:\Labs\2
Параметр 1: a
Параметр 2: b
Параметр 3: c
Параметр 4: def
- Написать командный файл, который печатал бы имя компьютера, на котором он запущен, общее число переменных среды, определенных
в системе, и после
нажатия клавиши выводил на экран имена этих переменных (без значений) вместе с порядковым номером.
Таким образом, на экран должна выводиться информация следующего вида:
Компьютер: TEST01
Количество переменных в системе: 33
--------------------------------------
1. CLASSPATH
3. COMPUTERNAME
4. COMSPEC
5. HOMEDRIVE
6. HOMEPATH
:
Полученный результат сохранить в HTML-файле (нумерованный список создавать с помощью специальных тегов).
- Написать сценарий для удаления лидирующих нулей из параметра
командной строки, соответствующего числу
(количество нулей может быть любым). Например, строка 00000123 должна
поменяться на 123. Полученное число командный файл должен добавить
в текстовый файл del_zero.log с указанием даты и времени совершения
данной операции.
- Создать командный файл zero.bat, который будет искать в каталоге, указанном в качестве параметра
командной строки, и всех его
подкаталогах все файлы нулевого размера. Имена найденных файлов нужно вывести на экран, после чего
удалить эти файлы.
Дополнительное требование: файлы нулевого размера в этом каталоге должны генерироваться автоматически
командным файлом make_zero.bat. При этом их количество должно равняться номеру дня в
текущей дате (т.е. 5-го числа должно создаться 5 файлов, а 10-го числа - 10 файлов).
- Написать командный файл для вычисления длины строки, которая будет указываться в качестве параметра командной строки.
- Написать командный файл для сортировки содержимого папки, имя которой передается в качестве параметра командной строки,
по подпапкам в соответствии с расширением файлов. Например, все *.exe файлы должны быть перемещены в папку EXE,
*.txt – в папку TXT и т.д. Для файлов без расширения должна быть создана отдельная папка.
Сами папки должны создаваться автоматически.
#######################################################################################################################
$andpop>
Get-Task -Type CMD -Variant 2
Командные файлы Windows, вариант 2
- Написать командный файл copir.bat, который будет копировать из
текущего каталога все файлы с определенным расширением, указанным
первым параметром командной строки, кроме одного файла, указанного в
качестве второго параметра командной строки, в каталог, указанный
третьим параметром. Например, следующая команда должна скопировать в
каталог d:\Folder1 все файлы с расширением txt кроме файла file1.txt:
copir.bat txt file1.txt d:\Folder1
Если имя каталога, в который должно производиться копирование, не задано, то сценарий должен вывести сообщение об этом и
прервать выполнение файла.
- С помощью командного файла создать в текущем каталоге подкаталог с именем в формате ГГГГММДД,
совпадающим с текущей датой. Затем сценарий должен скопировать в этот подкаталог все файлы и папки, которые видны
на рабочем столе активного пользователя (в том числе те, которые находятся на общем рабочем столе).
Работа данного сценария не должна зависеть от имени активного пользователя.
- Написать командный файл RenameFile.bat для переименования одного файла путем
замены всех пробелов в его имени на символы подчеркивания. Имя
изменяемого файла должно указываться (в кавычках ) в качестве параметра командной
строки.
На основе полученного сценария создать командный файл RenameAllFiles.bat для переименования всех
файлов, находящихся в каталоге, указанном в качестве параметра командной строки.
- Вывести на рабочий стол пользователя текстовый файл, в названии которого был бы написан IP-адрес и
имя компьютера (например, 10.180.1.205_Computer1.txt). В самом файле сохранить MAC-адрес (физический адрес) компьютера.
Работа данного командного файла не должна зависеть от имени активного пользователя.
- Написать командный файл, который запускается с одним параметром
командной строки и последовательно со смещением выводит подстроки
этого параметра с указанием номера итерации, например:
test.bat abcdef
1. abcdef
2. bcdef
3. cdef
4. def
5. ef
6. f
Полученный результат сохранить в HTML-файле (нумерованный список создавать с помощью специальных тегов).
- Создать командный файл lister.bat, который выводил бы количество строк в текстовом файле, имя которого задается в
качестве параметра командной строки, а также первую и последнюю строку из этого файла:
Z:>\lister.bat 1.txt
В файле 1.txt 12 строк(и)
Первая строка:
Это первая строка в файле
Последняя строка:
Это последняя строка в файле
Если нужный файл не удастся найти, вывести соответствующее сообщение и прервать работу файла.
- Пусть в каталоге записаны файлы вида ММДД*.* (номера месяца и дня в месяце, после которых идут произвольные символы, например
0121_001.dat, 0121_002.dat, 0122_015.dat, 1231_001.dat). Нужно с помощью командного файла для каждой встречающейся
даты создать подкаталог (имя ММДД, для нашего примера 0121, 0122 и 1231) и переместить туда все соответствующие файлы.
Дополнительное требование: файлы для задания должны генерироваться автоматически командным файлом make_file.bat. Первые два
символа в названии - случайное число от 1 до 12 (при необходимости дополненное слева нулем), следующие два символа -
случайное число от 1 до 31 (при необходимости дополненное слева нулем). Разное количество дней в месяцах не учитывать.
#######################################################################################################################
$andpop>
_