📟 Работа с командной строкой Windows (CMD)

Методическое пособие для студентов 1 курса специальности «Информационные системы и программирование» (ИСП)

Цель курса: Научиться выполнять базовые операции с файлами и каталогами через интерфейс командной строки, освоить навигацию, управление файловой системой, пакетную обработку, перенаправление ввода-вывода и основы администрирования.

Лабораторная работа №1 Навигация и просмотр содержимого

📖 Теоретическая часть

1. Открыть CMD

2. Просмотр содержимого диска / папки

dir

Флаги: dir /w (широкий формат, в колонки), dir /p (постраничный вывод), dir /s (рекурсивный просмотр подпапок).

3. Смена диска

D:  → переход на диск D:

4. Корневой каталог

Корень диска — самый верхний уровень (например C:\). Чтобы перейти в корень текущего диска:

cd \

5. Смена каталога (cd)

📌 Если путь содержит пробелы (например My Documents): заключайте в кавычки: cd "My Documents"

🧪 Практические задания (ЛР №1)

Задание 1.1 (Разминка)

  1. Откройте CMD.
  2. Выполните dir C:\ — запишите названия трёх папок, которые увидели.
  3. Перейдите на диск D: (если диска D нет, можно создать виртуальный командой subst D: C:\Temp или работать на C:).
  4. Вернитесь обратно на C:.

Задание 1.2 (Навигация)

  1. Перейдите в корень диска C: (cd \).
  2. Перейдите в папку C:\Windows (cd Windows).
  3. Поднимитесь на один уровень назад (cd ..).
  4. Снова вернитесь в корень (cd \).
  5. Проверьте: Введите cd Windows\System32\drivers\etc — куда вы попали? Подтвердите dir.

Задание 1.3 (Исследование)

  1. Оставаясь в C:\, выполните dir /p. Нажмите Enter несколько раз — объясните разницу между dir и dir /p.
  2. Выполните dir *.exe — что отобразилось?

Лабораторная работа №2 Работа с файлами: создание, копирование, переименование

📖 Теория

Создание файла

copy nul myfile.txt # пустой файл
echo Hello World > myfile.txt # файл с текстом (перезапись)
echo new line >> myfile.txt # добавить в конец

Переименование (rename / ren)

ren старое_имя новое_имя
Пример: ren data.txt info.txt

Копирование (copy)

copy источник назначение
Примеры:
copy file.txt copy_file.txt
copy *.txt D:\backup\

Перемещение (move)

move файл папка_назначения
Пример: move data.txt D:\Backup\

Выйти из CMD

exit

🧪 Практические задания (ЛР №2)

Задание 2.1 (Создание и переименование)

  1. Создайте в корне диска C: папку TempLab (команда mkdir C:\TempLab), затем перейдите в неё (cd C:\TempLab).
  2. Внутри создайте пустой файл list.txt (copy nul list.txt).
  3. Создайте файл hello.txt с текстом "Привет, ИСП!" (echo Привет, ИСП! > hello.txt).
  4. Переименуйте list.txt в data.txt (ren list.txt data.txt).

Задание 2.2 (Копирование)

  1. Скопируйте hello.txt в hello_copy.txt.
  2. Создайте внутри TempLab папку Backup (mkdir Backup). Скопируйте data.txt в Backup.
  3. Создайте три файла: 1.txt, 2.txt, 3.txt (через copy nul 1.txt и т.д.).
  4. Скопируйте все .txt файлы одной командой в папку Backup (copy *.txt Backup\).

Задание 2.3 (Перемещение)

  1. Переместите файл hello_copy.txt на уровень выше (move hello_copy.txt ..).
  2. Переместите все .txt из папки Backup обратно в основную папку (move Backup\*.txt .).
  3. Проверка: выполните dir и убедитесь, что файлы на месте.

Лабораторная работа №3 Работа с каталогами (mkdir, rmdir, tree)

📖 Создание, просмотр и удаление каталогов

⚠️ Внимание! rmdir /s удаляет данные безвозвратно, минуя Корзину.

🧪 Практические задания (ЛР №3)

Задание 3.1 (Создание структуры) Создайте на диске C: в папке ProjectISP следующую структуру:

ProjectISP
├── src
│   ├── main
│   └── test
├── docs
└── backups
            

Подсказка: mkdir ProjectISP\src\main, mkdir ProjectISP\src\test и т.д.

Задание 3.2 (Визуализация дерева) Выполните команду tree ProjectISP /F и зарисуйте результат.

Задание 3.3 (Работа с файлами внутри структуры)

  1. Внутри src\main создайте файл app.js.
  2. Внутри docs создайте readme.txt с текстом "Документация проекта".
  3. Скопируйте app.js в папку backups и переименуйте его там в app_backup.js.
  4. Переместите readme.txt из docs в корень ProjectISP.

Задание 3.4 (Удаление) Удалите папку docs, затем удалите backups вместе с файлом. Создайте и удалите тестовую папку temp одной командой.

Лабораторная работа №4 Перенаправление ввода-вывода и конвейеры (pipe)

📖 Теоретическая часть

ipconfig > network.txt
echo Step1 >> log.txt
dir /b | find ".txt"
type data.txt | find "error"

🧪 Практические задания (ЛР №4)

Задание 4.1 (Запись вывода)

  1. Выполните ipconfig /all > network_report.txt — просмотрите содержимое файла через type network_report.txt.
  2. Выполните systeminfo >> system_info.txt и объясните разницу между > и >>.

Задание 4.2 (Конвейеры)

  1. Выведите список всех папок в C:\Windows, содержащих букву "s" (dir C:\Windows /b | find "s").
  2. Создайте файл numbers.txt с числами 1..10 (построчно) и отфильтруйте строки, содержащие цифру 5, с помощью type numbers.txt | find "5".
  3. Подсчитайте количество файлов в текущей папке: dir /b | find /c /v "".

Задание 4.3 (Сложный конвейер) Найдите все процессы explorer.exe и запишите их PID в файл explorer_pid.txt (tasklist | find "explorer.exe" > explorer_pid.txt).

Лабораторная работа №5 Пакетные файлы (bat-скрипты) и автоматизация

📖 Введение в batch-программирование

@echo off
echo Hello, world!
pause

🧪 Практические задания (ЛР №5)

Задание 5.1 (Первый bat-файл) Создайте файл intro.bat с содержимым:

@echo off
echo ===== Моя первая автоматизация =====
echo Текущая дата: %date%
echo Текущее время: %time%
echo Пользователь: %username%
pause
            

Запустите и объясните результат.

Задание 5.2 (Скрипт резервного копирования) Создайте backup.bat, который копирует все .txt из папки C:\TempLab в папку BackupAuto (создавать её, если нет). Используйте if not exist и xcopy или copy.

Задание 5.3 (Циклы) Напишите counter.bat, который выводит числа от 1 до 5 с задержкой в 1 секунду (используйте timeout /t 1).

Задание 5.4 (С параметрами) Создайте скрипт create_files.bat, который принимает 2 параметра: имя папки и количество файлов. Скрипт создаёт папку и внутри неё файлы file1.txt, file2.txt, ....

Лабораторная работа №6 Сетевые команды и диагностика

📖 Основные сетевые утилиты

ping google.com -n 4
ipconfig /displaydns
tracert ya.ru
netstat -an | find "LISTEN"

🧪 Практические задания (ЛР №6)

Задание 6.1 (Диагностика подключения) Выполните ping 8.8.8.8 -n 10 и проанализируйте потерю пакетов. Сделайте вывод о качестве соединения.

Задание 6.2 (Сетевая конфигурация) Выполните ipconfig /all и запишите: MAC-адрес, IPv4-адрес, шлюз по умолчанию, DNS-сервера.

Задание 6.3 (Трассировка) Выполните tracert vk.com и определите количество хопов (узлов) до цели.

Задание 6.4 (Порты и соединения) Выполните netstat -ano и найдите PID процесса, который слушает порт 443. Определите имя процесса через tasklist | find "PID_номер".

Задание 6.5 (DNS) Выполните nslookup mail.ru и запишите полученные IP-адреса.

Лабораторная работа №7 Управление процессами и службами

📖 Команды для работы с процессами

tasklist | find "chrome"
taskkill /IM notepad.exe /F
net start | find "Print"
sc query wuauserv

🧪 Практические задания (ЛР №7)

Задание 7.1 (Мониторинг процессов) Запустите Блокнот (notepad) из CMD. Выполните tasklist | find "notepad.exe" и запишите PID. Завершите блокнот через taskkill /PID номер_пида.

Задание 7.2 (Принудительное завершение) Запустите calc.exe, затем завершите его командой taskkill /IM calc.exe /F.

Задание 7.3 (Службы) Выведите список всех запущенных служб (net start). Найдите службу "Print Spooler" и остановите её (от имени администратора) — net stop spooler, затем снова запустите.

Задание 7.4 (Скрипт для убийства) Напишите bat-файл, который запрашивает имя процесса и завершает его (используйте set /p proc_name= и taskkill /IM %proc_name% /F).

📋 Сводная таблица команд (полная версия)

ДействиеКомандаПример
Открыть CMDcmdWin+R → cmd
Просмотр содержимогоdirdir /s *.log
Смена дискаD:E:
Переход в каталогcdcd "Program Files"
Корневой каталогcd \cd \
Создать папкуmkdirmkdir NewFolder
Создать файлcopy nul / echocopy nul file.txt
Переименоватьrenren old.txt new.txt
Копироватьcopycopy a.txt b.txt
Переместитьmovemove data.txt C:\Backup
Удалить папку (с содержимым)rmdir /srmdir /s OldFolder
Вывод дерева папокtreetree /F
Перенаправление>, >>, |dir | find ".exe"
Сетевые утилитыping, ipconfig, tracertping ya.ru
Управление процессамиtasklist, taskkilltaskkill /IM chrome.exe
Службыnet start/stop, scsc query
💡 Совет: Для многократного повторения команд используйте клавишу ↑ (стрелка вверх) — вызывает предыдущие команды. Для поиска по истории — F7.

❓ Контрольные вопросы для зачёта (расширенные)

  1. Как открыть CMD от имени администратора?
  2. Чем отличается cd .. от cd \?
  3. Что произойдет, если выполнить dir > list.txt?
  4. В чем разница между copy и move?
  5. Как удалить папку, внутри которой есть другие файлы, без запроса подтверждения?
  6. Как одной командой создать путь A\B\C\D?
  7. Для чего нужен символ | (pipe) в CMD?
  8. Как запустить bat-файл с параметрами?
  9. Как узнать IP-адрес компьютера из командной строки?
  10. Как завершить процесс, зная его имя?

📌 Рекомендации преподавателя:

Старайтесь выполнять задания без использования мыши — только клавиатура. Это развивает скорость и дисциплину работы в терминале. Убедитесь, что вы понимаете разницу между относительными и абсолютными путями. Для сложных заданий используйте встроенную справку: команда /?.

⭐ Успешного освоения командной строки! Без CMD невозможно представить администрирование и автоматизацию в ИС.