Перейти к содержимому

2. Навигация: CMD команды

CMD использует свой набор команд, отличный от Linux. Но логика та же: смотри где ты, переходи куда нужно, создавай и удаляй файлы.

Окно терминала
dir REM список файлов в текущей директории
dir C:\Users REM список файлов в C:\Users
dir /a REM включая скрытые файлы
dir /s REM рекурсивно
dir /b REM только имена файлов
dir /od REM сортировать по дате
dir /os REM сортировать по размеру
dir *.txt REM только .txt файлы
dir /w REM широкий формат (несколько колонок)
Окно терминала
cd Documents REM перейти в Documents (относительный)
cd C:\Windows\System32 REM абсолютный путь
cd .. REM на уровень выше
cd ..\.. REM на два уровня выше
cd \ REM в корень диска
cd REM показать текущий путь (без аргументов)
cd /d D:\Projects REM сменить диск И директорию (/d обязателен!)

Смена диска в CMD:

Окно терминала
D: REM просто ввести букву диска с двоеточием
C:
E:
Окно терминала
mkdir Projects REM создать директорию
md Projects REM то же самое (сокращение)
mkdir "My Projects" REM с пробелами — кавычки обязательны
mkdir Projects\src\components REM создать вложенные директории
Окно терминала
del file.txt REM удалить файл
del "my file.txt" REM файл с пробелами
del *.tmp REM удалить все .tmp файлы
del /f locked.txt REM принудительное удаление
del /q *.log REM без подтверждения
del /s *.tmp REM рекурсивно во вложенных папках
Окно терминала
rmdir emptydir REM удалить пустую директорию
rd emptydir REM то же самое (сокращение)
rmdir /s mydir REM удалить директорию с содержимым
rmdir /s /q mydir REM без подтверждения
Окно терминала
copy file.txt backup.txt REM скопировать файл
copy file.txt C:\Backup\ REM скопировать в другую директорию
copy *.txt C:\TextFiles\ REM скопировать все .txt
copy /y file.txt dest.txt REM без подтверждения перезаписи
copy file1.txt + file2.txt combined.txt REM объединить файлы
Окно терминала
move file.txt C:\Destination\ REM переместить файл
move oldname.txt newname.txt REM переименовать
move *.log C:\Logs\ REM переместить группу файлов
move /y file.txt dest.txt REM без подтверждения
Окно терминала
ren oldname.txt newname.txt REM переименовать файл
ren *.txt *.bak REM переименовать все .txt в .bak
ren "old name.txt" "new name.txt"
Окно терминала
type file.txt REM вывести содержимое файла
type file.txt | more REM постраничный просмотр
type file.txt | find "error" REM поиск в файле
ЗадачаCMDPowerShellLinux/bash
Список файловdirGet-ChildItem, lsls
Текущая директорияcdGet-Location, pwdpwd
Перейтиcd pathSet-Location path, cdcd path
Создать папкуmkdirNew-Item -Type Directory, mkdirmkdir
Удалить файлdelRemove-Itemrm
КопироватьcopyCopy-Itemcp
ПереместитьmoveMove-Itemmv
Просмотр файлаtypeGet-Contentcat
Окно терминала
cls REM очистить экран (аналог clear)
echo Hello World REM вывести текст
echo %USERNAME% REM переменные окружения
echo %CD% REM текущий путь
echo %DATE% %TIME% REM дата и время
pause REM ожидать нажатия клавиши
exit REM закрыть окно CMD
exit /b 0 REM выйти из скрипта с кодом 0

Windows использует обратный слэш \ вместо /:

C:\Users\username\Documents\file.txt

Но большинство современных инструментов принимают оба варианта:

Окно терминала
cd C:/Users/username REM тоже работает в некоторых контекстах

Специальные пути:

  • . — текущая директория
  • .. — родительская директория
  • ~ — в PowerShell означает домашнюю директорию
Окно терминала
dir *.txt REM все файлы с расширением .txt
dir report*.xlsx REM все файлы начинающиеся на "report"
del *.tmp REM удалить все временные файлы
copy file?.txt dest\ REM ? = один любой символ
Окно терминала
REM 1. Посмотри текущую директорию
cd
REM 2. Перейди в Users
cd C:\Users
REM 3. Посмотри содержимое
dir
REM 4. Вернись в домашнюю директорию
cd %USERPROFILE%
REM 5. Создай структуру проекта
mkdir %USERPROFILE%\Desktop\myproject
mkdir %USERPROFILE%\Desktop\myproject\src
mkdir %USERPROFILE%\Desktop\myproject\docs
REM 6. Посмотри результат
dir %USERPROFILE%\Desktop\myproject
REM 7. Убери за собой
rmdir /s /q %USERPROFILE%\Desktop\myproject

Базовая навигация в CMD освоена! Но для серьёзной работы переходи на PowerShell — там всё намного мощнее.