Какой командой операционной системы можно удалить все файлы имена которых начинаются на букву x
Команды DOS для работы с каталогами
Смена текущего каталога
Формат команды:
cd [дисковод:][путь]
Примеры:
cd \ - переход в корневой каталог текущего диска;
cd \exe - переход в каталог exe в корневом каталоге;
cd .. - переход в наддиректорию;
cd - сообщает текущий диск и каталог.
Формат команды:
dir [дисковод:][путь\][имя-файла] [параметры]
Параметры:
/p - поэкранный вывод;
/w - вывод в широком формате;
/s - оглавление указанного в команде каталога и всех его подкаталогов;
/b - только имена файлов без заголовочных и итоговых сведений;
/a атрибут - сведения о файлах, имеющих указанные атрибуты.
Сортировки:
/on - по имени;
/oe - по расширению;
/od - по времени;
/og - сначала выводить сведения о подкаталогах;
Примеры:
dir - оглавление текущего каталога
dir *.exe - сведения обо всех файлах .exe текущего каталога
dir a: - оглавление текущего каталога диска а:
dir /w - оглавление текущего каталога в широком формате
dir с:\*.exe /s - сведения обо всех файлах .exe на диске с:
dir *.* /ash /b - сведения обо всех файлах текущего каталога с атрибутами "системный" и "скрытый", при этом выводить только имена файлов без заголовочных и итоговых сведений.
Вывод оглавления в файл или на принтер:
dir > prn - вывести оглавление текущего каталога на принтер;
dir c:\*.txt > txtfiles.txt - создать в файле txtfiles.txt список всех файлов с расширением .txt, находящихся в корневом каталоге диска c:.
Формат команды:
md [дисковод:][путь\]имя-каталога
Примеры:
md abc - создать каталог abc в текущем каталоге;
md c:\users\my - создать каталог my в каталоге users в корневом каталоге диска c:.
Удаление пустого каталога
Формат команды:
rd [дисковод:][путь\]имя-каталога
Примеры:
rd abc - удалить каталог abc из текущего каталога;
rd c:\users\my - удалить каталог my из подкаталога users корневого каталога диска c:.
Удаление каталога со всем содержимым
Формат команды:
deltree [/y] имя-файла-или-каталога
Команда deltree может удалять как каталоги, так и файлы. В имени файла-или-каталога можно использовать символы * и ?.
Примеры:
deltree temp - удалить каталог или файл с именем temp из текущего каталога;
deltree /y d* - удалить из текущего каталога все каталоги и файлы, имя которых начинается на d, не запрашивая подтверждение.
Формат команды:
move [дисковод:][путь\]имя-каталога новое-имя-каталога
Примеры:
move a:\temp tmp - переименовать каталог temp корневого каталога диска а: в tmp.
Установка списка каталогов для поиска выполняемых программ
Формат команды:
path [дисковод:][путь\]имя-каталога [; [дисковод:][путь\]имя-каталога]
Примеры:
path ; - поиск программ должен вестись только в текущем каталоге
path - имена каталогов, в которых производится поиск программ
path c:\exe; c:\exe\program; d:\msdos - поиск программ производить в каталогах exe, program, msdos.
Команды DOS для работы с файлами
Формат команды:
copy con имя-файла
Ctrl+Z, F6 - признак конца файла.
Enter - признак конца строки.
Примеры:
copy con work.txt - создать в текущем каталоге текстовый файл work.txt.
Формат команды:
del имя-файла
Примеры:
del *.txt - удалить все файлы с расширением .txt из текущего каталога;
del name.doc - удалить из текущего каталога файл с именем name.doc.
Формат команды:
ren имя-файла1 имя-файла2
В параметре имя-файла1 можно указывать дисковод и путь, в имя-файла2 - нет.
Команда ren не обрабатывает скрытые файлы.
Примеры:
ren xxx.doc xxx.txt - переименовать файл xxx.doc текущего каталога в xxx.txt;
ren a:*.txt *.doc - переименовать все файлы текущего каталога на диске а: с расширением .txt в файлы с такими же именами и расширениями .doc.
Формат команды:
copy имя-файла1 имя-файла2
copy имя файла1 [имя-каталога2]
В именах файлов можно употреблять символы * и ?, а также указывать имя диска и путь.
Команда copy не копирует скрытые файлы и файлы нулевой длины.
Если файл с таким же именем, как у копии, создаваемой командой уже существует, то он замещается.
Примеры:
copy x.txt z.txt - скопировать файл x.txt в текущий каталог с именем z.txt;
copy a:\*.* - cкопировать все файлы из корневого каталога диска а: в текущий каталог текущего диска;
copy \text\*.txt a:*.doc - скопировать из подкаталога text текущего каталога все файлы с расширением txt в текущий каталог диска а:. Файлы получат расширения doc.
Использование устройств:
copy t1.txt prn - копирование файла t1.txt на принтер;
copy t1.txt con - копирование файла t1.txt на экран монитора.
Формат команды:
copy имя-файла [+имя-файла]…[имя файла]
Если имя исходного файла (или одного из файлов) совпадает с именем создаваемого командой copy файла, то существующий файл замещается. Например, если файл all.doc уже существует, то команда copy *.doc all.doc будет ошибочной, т.к. файл all.doc будет уничтожена в начале копирования.
Примеры:
copy .lst+*.ref *.prn - к каждому файлу текущего каталога с расширением lst добавить файл с тем же именем и расширением ref, результат записывается в файл с тем же именем и расширением prn;
copy f1.doc+f2.doc - объединить файлы f1.doc и f2.doc, содержимое объединенного файла записывается в файл f1.doc;
copy *.txt all.prn - содержимое всех файлов с расширением txt записывается в файл all.prn.
Формат команды:
move [/y] имя-файла имя-каталога
move [/y] имя-файла [дисковод:][путь]новое-имя-файла
С параметром /y при существовании в каталоге-приемнике файлов с теми же именами, что и пересылаемые, выполняется замещение этих файлов без запроса. Задание нового имени возможно только при пересылке одного файла. Например, команда move *.bac a:\*.old ошибочна.
Примеры:
move *.doc d:\ - переместить файлы с расширением doc из текущего каталога в корневой каталог диска d:;
move f1.txt tmp\f2.txt - переместить файл f1.txt в каталог tmp с переименованием в f2.txt.
Формат команды:
fc [параметры] имя-файла имя-файла [имя-файла-протокола]
Если имя файла-протокола не задано, сведения о сравнении выводятся на экран.
Параметры:
/l - построчное сравнение. Если программа обнаруживает различия в файлах, она пытается найти после точки рассогласования места, начиная с которых файлы снова становятся одинаковыми. На выходе - различающиеся строки;
/b - побайтовое сравнение. После обнаружения различия файлов сравнение прекращается.
Параметры построчного сравнения:
/c - игнорировать различия между строчными и прописными буквами;
/n - вывод номеров строк;
/число - сколько строк файлов должно совпадать, чтобы файлы считались снова согласованными. По умолчанию 2 строки;
/lbчисло - размер внутреннего буфера для нахождения соответствий в файлах после рассогласования. По умолчанию 100 строк.
Примеры:
fc doclad.doc doclad1.doc > diff - сравнить файлы, отчет поместить в файл diff.
Формат команды:
type имя-файла
Примеры:
type t1.doc - вывод на экран файла type t1.doc из текущего каталога.
Формат команды:
xcopy имя-файла-или-каталога [имя-файла-или-каталога]…[параметры]
Параметры:
/s - копирование файлов из указанных каталогов и всех их подкаталогов. Файлы из подкаталогов копируются в соответствующие подкаталоги того каталога, в который копируются файлы;
/e - копирование всех подкаталогов, даже если они пусты. Используется только вместе с режимом /s;
/a - копирование только тех файлов, у которых установлен атрибут "архивировать";
/m - копирование только тех файлов, у которых установлен атрибут "архивировать". После копирования, атрибут "архивировать" отменяется;
/dдата - копирование файлов, созданных или измененных начиная с указанной даты. Если дата не указана, то копируются только файлы, более новые, чем файлы, которые они замещают;
/p - запрос на копирование каждого файла;
/y - перезапись имеющихся файлов с теми же именами без запросов;
/n - проверка правильности копирования каждого файла.
Примеры:
xcopy a:\ b:\ /s /e - копирование всех каталогов с диска а: на b:;
xcopy *.doc a:\ /s - копирование всех файлов с расширением .doc из текущего каталога в корневой каталог диска а:. Файлы с расширением .doc из подкаталогов текущего каталога копируются в одноименные подкаталоги корневого каталога диска а:;
xcopy *.* a:\ /s /e - копирование всех файлов и подкаталогов текущего каталога в корневой каталог и соответствующие подкаталоги диска а: (создание архивной копии файлов текущего каталога);
xcopy *.* a:\ /m /s /e - копирование всех измененных файлов и подкаталогов текущего каталога в корневой каталог и соответствующие подкаталоги диска а:, (обновление архивной копии файлов текущего каталога).Наверх
Формат команды:
Имя-дисковода:
Примеры:
С: - установить текущим диск с:;
a: - установить текущим диск a:.
Формат команды:
verify [on/off]
Примеры:
verify on - включить режим проверки при записи на диски;
verify off - отключить режим проверки при записи на диски;
verify - вывести информацию о том, включен или выключен режим проверки.
Формат команды:
format дисковод: [параметры]
Параметры:
/s - создать системный диск;
/v:метка - задание метки диска;
/u - безусловное форматирование с уничтожением имеющихся данных;
/q - быстрая очистка без контроля наличия сбойных участков.
Если параметры не указаны, то программа проверяет, форматирована ли дискета; оставляет формат таким же, что и имеющийся; стирает информацию обо всех файлах и каталогах из системных областей; тестирует область данных на наличие сбойных участков.
Примеры:
format a: /u - безусловное форматирование дискеты а:;
format a: /q - очистка дискеты;
format a: /s - форматировать дискету и сделать ее системной. Наверх
Формат команды:
sys [путь] диск:
Если путь не задан, системные файлы берутся из корневого каталога текущего диска.
Примеры:
sys a: - перенести на диск а: системные файлы из корневого каталога текущего диска.
Формат команды:
label дисковод:
Метка - обозначение длиной до 11 символов.
Недопустимые символы: * ? / \ | . , ; : + = [ ] ( ) & < >^ " .
Чтобы узнать метку диска, можно использовать команду vol. (vol дисковод:)
Примеры:
label a: - сообщить меткe диска а:.
Формат команды:
date
Примеры:
date
Запрос: Введите новую дату (дд-мм-гг): (Enter new date (dd-mm-yy))
Вводимая строка: 11-09-2000
Формат команды:
time
Примеры:
time - вывести текущее время;
time 11:29 - установить время 11 часов 29 минут.
Формат команды:
prompt [текст]
Специальные сочетания символов:
$p - текущий дисковод и каталог;
$n - текущий дисковод;
$d - текущая дата;
$t - текущее время;
$v - версия DOS;
$_ - переход на новую строку;
$s - пробел;
$g - символ ">";
$h - удаление предыдущего символа.
Примеры:
prompt $p$g - устанавливает приглашение вида c:\users\doc>;
prompt $t$h$h$h$h$h$h$g - устанавливает приглашение вида 13:38>.
Формат команды:
ver
На экран выводится версия используемой операционной системы. Например: MS DOS Version 6.22
Командная строка Windows является стандартным средством диагностики, настройки и управления компонентами операционной системы и прикладным программным обеспечением. В отличие от графической среды пользователя, командная строка является более гибким и универсальным инструментом, позволяющим решать многие задачи администрирования системы стандартными средствами Windows без установки дополнительного программного обеспечения.
Способы запуска командной строки
Ссылки на материалы по настройке командной строки и приемах работы с ней размещены в конце страницы.
Справочник по командам CMD Windows
Данная страница представляет собой самый полный документ в русскоязычном сегменте Интернет, содержащий список команд командной строки всех версий Windows. Наименования подавляющего большинства команд являются ссылками и ведут на страницы с подробным их описанием и примерами использования. В разных версиях ОС семейства Windows набор поддерживаемых команд, их параметры командной строки, синтаксис и отображение результатов выполнения могут различаться. Одна и та же утилита командной строки может присутствовать в стандартной поставке одной версии Windows, но отсутствовать в другой, или входить в состав дополнительных средств, как например, Resource Kit или Software Development Kit.
На данной странице представлено описание не только внутренних команд CMD, но и стандартных утилит командной строки, входящих в состав конкретных версии операционной системы (ОС) семейства Windows. Некоторые из приведенных команд устарели, и больше не поддерживаются разработчиком или не имеют смысла в современных операционных системах, что отмечается в описании команды.
Список команд постоянно обновляется и включает в себя все новейшие команды, добавляемые в стандартную поставку при выходе новых версий или обновлений ОС Windows 10.
APPEND - позволяет программам открывать файлы данных из указанных папок так, как будто они находятся в текущей папке.
ARP - просмотр и изменение таблиц ARP (Address Resolution Protocol)
ASSOC - просмотр или изменение сопоставлений расширений файлов приложениям
AT - управление планировщиком задач
ATTRIB - изменение атрибутов файлов
Auditpol - управление политиками аудита.
BASH - командная оболочка BASH в подсистеме Windows для Linux (WSL).
BCDBOOT - копирование в системный раздел файлов загрузки и создание нового хранилища конфигурации загрузки (BCD)
BCDEDIT - редактирование хранилища данных конфигурации загрузки (BCD)
BOOTCFG - редактирование параметров загрузки в файле boot.ini
BOOTIM - вызов меню загрузки и восстановления (Выбор действия) Windows 10
BOOTREC - восстановление загрузочных записей и конфигурации загрузки Windows
BOOTSECT - редактирование загрузочных секторов для обеспечения загрузки NTLDR или BOOTMGR
BREAK - включить или выключить обработку комбинации клавиш CTRL+C в DOS
CACLS - редактирование списков управления доступом к файлам (ACL - Access Control List)
CALL - вызов из командного файла подпрограмм или других командных файлов
CD - смена каталога (Change Directory)
CHANGE - изменение настроек сервера терминалов. Контексты - LOGON, PORT, USER
CHGLOGON - изменение настроек сервера терминалов, аналогично CHANGE LOGON
CHGPORT - изменение настроек сервера терминалов, аналогично CHANGE PORT
CHGUSR - изменение настроек сервера терминалов, аналогично CHANGE USER
CHCP - просмотр или изменение текущей кодовой страницы
CHKDSK - проверка диска (Check Disk)
CheckNetIsolation - управление доступом приложений к интерфейсу замыкания на себя (localhost) в Windows 10
CHKNTFS - проверка признака ошибки файловой системы и управление проверкой диска при загрузке Windows
CHOICE - реализация пользовательского ввода в командном файле
CIPHER - отображение или изменение шифрования файлов на томах NTFS
CLEARMGR - управление очисткой дисков Windows
CLIP - перенаправление вывода утилит командной строки в буфер обмена Windows
CLS - очистка экрана в командной строке
CMD - запуск новой копии интерпретатора командной строки
CMDKEY - создание, отображение, удаление и сохранение имен пользователей и паролей
COLOR - изменение цвета текста и фона в окне CMD
COMMAND - запуск новой копии интерпретатора командной строки MS-DOS
COMP - сравнение содержимого файлов
COMPACT - управление сжатием и распаковкой файлов в разделах NTFS
CONVERT - преобразование файловой системы из FAT в NTFS
COPY - копирование файлов и каталогов
Cscript - сервер сценариев Windows с консольным интерфейсом
DATE - отображение или изменение даты
DEBUG - запуск отладчика DOS-Windows XP
DEL - удаление одного или нескольких файлов
DevCon - управление устройствами в командной строке
DIANTZ — тоже что и MAKECAB, создание архивов .cab.
DIR - отображение списка файлов и каталогов
DISKCOMP - сравнение содержимого двух гибких дисков
DISKCOPY - копирование содержимого одного гибкого диска на другой
DISKPART - управление разделами и дисками из командной строки
DISM - управление компонентами образрв WIM.
DISPDIAG - вывод дампов с диагностической информацией о графической подсистеме.
DJOIN - автономное присоединение компьютера к домену.
DOSKEY - редактирование и повторный вызов команд Windows, создание макросов DOSKey
DRIVERQUERY - отобразить информацию об установленных драйверах.
DxDiag - средство диагностики DirectX.
ECHO - вывод текста на экран консоли
EDIT - запуск текстового редактора
ENDLOCAL - конец локальных изменений переменных окружения в командном файле
ERASE - аналогично команде DEL - удаление файлов
ESENTUTL - обслуживание баз данных Extensible Storage Engine для Windows
EXIT - выход из процедуры или командного файла
EXPAND - распаковка сжатых файлов CAB-файлов.
EXTRACT - извлечение содержимого, распаковка CAB-файлов в Windows (EXTRAC32)
FC - сравнение содержимого файлов
FIND - поиск строки символов в файле
FINDSTR - поиск строк в файлах с использованием регулярных выражений
FOR - организация циклической обработки результатов выполнения других команд, списков, и строк в текстовых файлах
FORFILES - выполнение указанной команды для каждого файла из заданной группы
FSUTIL - управление файловой системой
FTYPE - просмотр и изменение расширений файлов и сопоставленных им приложений
GETMAC - отображение физического адреса сетевого адаптера (MAC-адреса)
GOTO - команда безусловного перехода в командном файле
GPRESULT - отображение результирующей политики (RSoP)
GPUPDATE - обновление групповых политик.
HELP - вызов справки командной строки Windows
HOSTNAME - отображение имени компьютера
iCACLS - управление списками доступа (ACL)
IF - оператор условного выполнения команд в пакетном файле
IPCONFIG просмотр и управление конфигурацией протокола IP
LABEL - редактирование меток тома дисков
LOGMAN - управление монитором оценки производительности системы
LOGOFF - завершение сеанса пользователя
MAKECAB - создание сжатых файлов формата CAB
MBR2GPT - преобразование дисков MBR в GPT
MEM - вывод справки об использовании памяти в MS-DOS
MD - создание нового каталога
MKLINK - создание символической ссылки на файл или каталог
MODE - конфигурирование системных устройств в среде CMD
MORE - постраничный вывод в консоли
MOUNTVOL - управление точками монтирования томов
MOVE - перемещение файлов и каталогов
MOVEFILE - перемещение или удаление занятых файлов при следующей перезагрузке
MSTSC - подключение к удаленному рабочему столу.
NBTSTAT - просмотр статистических данных NETBIOS через TCP/IP (NetBT)
NET - управление ресурсами локальной сети
NETCFG - отображение и изменение конфигурации компонентов сети
NETSH - командная сетевая оболочка (Network Shell)
NETSTAT - отображение статистики сетевых соединений
NSLOOKUP - просмотр данных DNS в командной строке
OPENFILES - управление открытыми по сети или локально файлами
PATH - отображение или изменение путей поиска исполняемых файлов
PATHPING - трассировка маршрута с возможностью оценки качества участков трассы
PAUSE - пауза при выполнении командного файла
PING утилита проверки доступности узла
PKGMGR - управление программными пакетами Windows
PNPUTIL - конфигурирование драйверов устройств PnP
POPD - возврат в каталог, ранее запомненный с помощью команды PUSHD
POWERCFG - настройка параметров системы электропитания Windows
PRINT - печать текстового файла
PROMPT - изменение строки приглашения в консоли
PUSHD - сохранить текущий путь каталога и перейти в указанный
PSR - записать действия пользователя в Windows 7/8.1/10 ( P roblem S teps R ecorder)
QPROCESS - отобразить состояние процессов
QUERY - опросить состояние процессов и сеансов пользователей
QUSER - отобразить информацию о сеансах пользователей
RASDIAL - управление сеансами удаленного доступа
RASPHONE - управление сеансами удаленного доступа
REAGENTC - адимнистрирование стреды восстановления Windows
RECOVER - восстановление файлов на поврежденном диске
REG - утилита командной строки для работы с реестром Windows
REGEDIT - импорт и экспорт данных реестра Windows
REGSVR32 - регистрация или отмена регистрации DLL
REGINI - управление доступом к разделам реестра
REM - комментарии в командных файлах
REPLACE - замена или добавление файлов в катологах
RESET - сброс сеанса удаленного рабочего стола (RDP сессии)
ROBOCOPY - утилита резервного копирования и синхронизации каталогов (Robust File and Folder Copy)
ROUTE - управление таблицей маршрутизации
RUNAS - запуск приложения от имени другого пользователя
RUNDLL32 - запуск DLL в качестве приложения
SC - управление службами Windows (Service Control)
SCHTASKS - управление планировщиком задач
SCLIST - отображение списка системных служб
ScriptRunner - запуск одного или нескольких скриптов в Windows 10
SET - отображение и изменение переменных среды окружения Windows
SETLOCAL - установка локальных переменных в командном файле
SETX - утилита для создания системных переменных
SFC - проверка и восстановление системных файлов Windows
SHARE - просмотр, создание и удаление разделяемых в локальной сети ресурсов
SHIFT сдвиг входных параметров для командного файла
SHUTDOWN - выключение или перезагрузка компьютера
SLEEP - задержка по времени в пакетном файле
SLMGR - управление лицензированием программного обеспечения Windows
SORT - сортировка строк в текстовом файле
START - запуск приложения или командного файла
STORDIAG - диагностика системы хранения данных в Windows 10
SUBST - назначение (отмена назначения) каталогу буквы диска
SxSTrace - диагностическое средство трассировки компонент системы
SYSTEMINFO - отображение информации о системе
TAKEOWN - изменение владельца файла или каталога
TAR - архивирование данных архиватором tar в Windows 10
TASKKILL - завершение процессов на локальной или удаленной системе.
TASKLIST - отображение списка выполняющихся приложений и служб Windows
TIME - отображение и установка системного времени
TIMEOUT - задержка в пакетных файлах
TITLE - изменение заголовка окна CMD.EXE
TRACERT - трассировка маршрута к удаленному узлу
TREE - отображение структуры каталога в графическом виде
TSCON - подключение к сессии удаленного рабочего стола (RDP).
TSDISCON - отключение сессии удаленного рабочего стола (RDP).
TSKILL - завершение процессов, адаптированное для среды сервера терминалов (RDP).
TYPE - вывод на экран содержимого текстового файла
TypePerf - вывод сведений о производительности на экран или в журнал
TZUTIL - управление часовыми поясами в среде Windows
VaultCmd - администрирование учетных данных Windows.
VER - отображение версии операционной системы
VERIFIER - тестирование драйверов Windows.
VERIFY - управление режимом проверки записываемых файлов
VOL - вывод данных метки тома
VSSADMIN - администрирование службы теневого копирования томов.
W32TM - управление службой времени Windows
WAITFOR - организация обмена сигналами между компьютерами
WBADMIN - управление резервным копированием и восстановлением в Windows
WEVTUTIL - управление событиями в Windows
WHERE - определение места расположения файлов
WHOAMI - вывод имени текущего пользователя
WINDIFF - сравнение содержимого файлов
WinMgmt - обслуживание инструментария управления Windows (WMI)
WINRM - удаленное управление Windows из командной строки
WINRS - удаленная командная строка (Remote Shell)
WINSAT - средство проверки производительности Windows
WMIC - выполнение команды WMI в командной строке
WSCollect - получить CAB-файл с копиями журналов Windows 10 на рабочем столе
Wscript - сервер сценариев Windows с графическим интерфейсом
WSL - выполнение команд Linux и конфигурирование параметров подсистемы Windows для Linux (WSL) в Windows 10
WSLconfig - конфигурирование параметров подсистемы Windows для Linux (WSL) в Windows 10
WUSA - автономная установка обновлений Windows
XCOPY - копирование файлов и папок
Прочие материалы по работе с командной строкой Windows:
Настройка командной строки Windows. - Как изменить цвет фона, цвет символов, размер и расположение окна командной строки. Копирование и вставка текста в окне консоли. Как настроить дополнение имен файлов и каталогов при наборе в командной строке. Использование функциональных клавиш.
Работа с командной строкой Windows - Основные приемы, используемые при работе в командной строке Windows.
Командные файлы Windows - Общие принципы применения переменных среды в командных файлах. Обработка параметров командной строки. Использование меток, переходов и циклическая обработка данных. Практические примеры решения задач администрирования системы.
Запуск приложений от имени администратора без запроса UAC - Как запустить из командного файла приложение или командный файл без запроса системы контроля учетных записей UAC
Работа с сетью в командной строке. - подробное описание команд CMD Windows для работы с сетью и примеры их использования.
Подсистема Linux в Windows 10 - Использование командной строки Linux в Windows 10.
При работе в командной строке администраторы часто сталкиваются с необходимостью что-то сделать с определенным файлом: удалить, переместить, скопировать. При выполнении подобных задач зачастую приходится обращаться к файлам по имени, что может быть затруднительно, поскольку в именах файлов могут встречаться самые разные символы. Даже те, которых нет на клавиатуре. В этом плане работу может облегчить файловый менеджер, в котором файл можно просто выделить и совершить с ним нужное действие. Но для тех, кто привык работать исключительно в командной строке, предлагаются следующие способы.
В качестве shell-оболочки рассмотрим bash, как самую используемую. А в качестве операции над файлами рассмотрим удаление, как самую деструктивную.
Ситуации могут быть разными. В текущей директории могут быть файлы, которые нужно удалить вместе с теми, которые нужно оставить. Имена у них могут быть самыми разными. Причем первые от последних могут отличаться только одним каким-нибудь заковыристым символом.
В названии файла есть служебный символ bash
Самый простой случай. Для удаления файлов, содержащих в своем названии служебные символы вроде пробелов, кавычек, двойных кавычек, звездочек, обратные кавычки и др. можно заэкранировать обратным слешем или использовать одинарные кавычки:
С помощью одинарных кавычек нельзя удалить файл, в названии которого есть одинарная кавычка, даже заэкранировав ее.
С полным списком служебных символов и механизмом экранирования в bash можно ознакомиться в man bash. Раздел QUOTING.
Имя файла начинается с дефиса
Удалить файл, начинающийся с дефиса простым экранированием не получится, и команда rm будет воспринимать дефис, как начало своего аргумента. Решить проблему довольно просто:
Удаляем по wildcard
Если удаление файлов попадает под wildcard-маску, то можно удалить всю группу файлов:
Файлы с управляющим символом в названии
В названии файла может встречаться управляющий ASCII-символ, такой как перевод строки (\n), табуляция (\t), backspace (\b). Это символы с ASCII-кодами менее 0x20, а также символы DELETE и ESC. Для удаления таких файлов подходит конструкция:
Другим способом удаления таких файлов являяется ввод управляющего символа с клавиатуры. Для этого нужно воспользоваться комбинацией клавиш, которая экранирует следующий введенный символ, тем самым запрещая системе обрабатывать его. Как правило, эта комбинация CTRL+V. Точно убедиться в этом можно с помощью команды stty -a, посмотрев на параметр lnext. Удалим файл, содержащий символ ESC:
Удаление файлов с символами utf8
Если имя файла содержит символ в кодировке utf8, который мы не можем набрать на клавиатуре, то удалить такой файл можно выделением его мышкой, копированием в буфер обмена и последующей вставкой на ввод команды rm. Главное условие состоит в том, что наш терминал должен работать в кодировке utf8. Кодировка выставляется в настройках терминала. Будь то xterm, putty или брутальный linux tty.
Перекодировка имени файла
Подозревая, что имя файла находится в кодировке, отличной от кодировки терминала, мы можем выполнить перекодирование всех файлов в текущей директории. В результате файлы с битой кодировкой будут перекодированы, а файлы с ascii-символами изменений не претерпят. Существенный плюс этого способа – приведение всех файлов в читабельный вид.
Как видно, чтобы осуществить правильное перекодирование нужно знать две кодировки: предполагаемую кодировку файла и кодировку нашего терминала. Наиболее трудно распознать предполагаемую кодировку файла по непонятным символам. Есть замечательная табличка
Также можно воспользоваться сторонними программами, которые попытаются распознать кодировку автоматически. Например, онлайн-декодер Лебедева.
Если вы встретили такие символы в примонтированном media-носителе или смонтированном разделе Windows, не спешите ничего перекодировать. Возможно, вы просто указали неправильные опции монтирования.
Автокомплит
В случае, если в директории название требуемого файла начинается уникально, и это название можно однозначно сформировать автокомплитом, то это довольно простой способ удалить файл:
Удаляем файл через меню выбора
Если мы дошли сюда, дело плохо. Попробуем удалить конкретный файл, составив для этого меню выбора. В итоге, все что нам останется сделать – это выбрать нужный пункт меню вместо ввода имени файла. Для этого нам нужно запрограммировать действие, которое будет происходить с файлом или файлами после ввода нами нужных пунктов меню.
Удаление по номеру inode
Удалить файл можно по его номеру inode. Номер inode уникально идентифицирует файл в файловой системе. Узнать номер inode можно с помощью команды ls, а удалить – с помощью find. Недостаток этого способа, такой же, как у предыдущего. Неудобно, в случае большого числа файлов.
Удаление по hex-коду
И нельзя не упомянуть один суровый метод. Удаление по hex-кодам. Суть такова: мы узнаем hex-коды всех байтов в имени файла, а затем удаляем файл, указывая вместо имени hex-коды.
Помогите, пожалуйста. Нужно вывести имена файлов текущего каталога, начинающиеся на букву a или b, в которые можно записывать данные.
Вывести имена всех файлов из текущего каталога
При нажатии на левую кнопку мыши вывести имена всех файлов из текущего каталога. Помогите.
Вывести на экран имена файлов из определённого каталога, начинающиеся на цифру
Вывести на экран имена файлов из каталога К (имя файла начинается на цифру); @echo off dir E:\K.
Удаление файлов текущего каталога, имена которых начинаются с буквы, указанной в качестве параметра
Нужно попытаться удалить файлы текущего каталога, имена которых начинаются с буквы, указанной в.
Вывести имена подкаталогов из текущего каталога содержащие в себе подкаталоги
Разработать программу, которая выводит на экран имена тех каталогов, которые находятся в текущем.
Решение
Добавлено через 2 минуты
если строго только в текущей дире, то $(basename "$f") == [ab]* можно заменить на "$f" == [ab]*
при выполнении ругается на эту строчку: ./exs_3: line 2: syntax error near unexpexted token 'in*'
./exs_3: line 2: 'for f in*'
исправила на in *. ничего не изменилось, ошибка та же. а за что отвечает тогда in *?
Добавлено через 4 минуты
так быть не может, проверьте еще раз.
* отвечает за globbing. но Вы все равно не будете же man читать?
классический пример базиса для бардака. из практики платит деньгами или временем именно тот, кто небрежно относится к формулировке и/или выполнению условий. из практики я довольно давно уяснил, что четкое ТЗ – всегда экономия, вне зависимости сколько на это уйдет времени.
спорный момент. для начала – find это одна из тех старых и страшных команд наряду со screen, которые давно следует переписать, но ввиду традиций (как например ifconfig) они еще долго будут вылазить из темных углов.
далее – find здесь лишняя сущность (внешняя команда) с более сложным синтаксисом и менее очевидным поведением – нежели чем проверки, встроенные в интерпретатор.
еще далее – если нам нужна генерация файлов с более сложными условиями, чем доступные в позикс интерпретаторе (а также более эффективный shell-код), то логичнее взять zsh и изначально не наступать на многие грабли, характерные для парсинга вывода внешних команд.
еще из практики – а скажите навскидку, в чем отличия синтаксиса и реализации find в findutils и встроенного в бизибокс? а вот код шелла (если исключить башизмы) будет один и тот же и в терминале бубнотушечки, и в роутере и в инитраме.
Командная строка – мощный инструмент для автоматизации и упрощения многих задач, которые возникают при администрировании компьютера с операционной системой Windows. В этой статье мы рассмотрим команды DEL, ERASE, RD и RMDIR. С их помощью вы сможете удалять файлы и папки прямо из командной строки.
Удаление файлов через командную строку
Если вам нужно удалить файл через командную строку, то для этого нужно использовать команду DEL или ERASE . Эти команды являются синонимами и работают одинаково. Вы можете получить подробную информацию об этих командах, если введете их в командную строку с параметром « /? ». Например, вы можете ввести « del /? » и в консоль выведется вся основная информация о команде del .
Команда DEL (или ERASE ) предназначена для удаления одного или нескольких файлов и может принимать следующие параметры:
- /P – удаление с запросом подтверждения для каждого файла;
- /F – удаление файлов с атрибутом «только для чтения»;
- /S – удаление указанного файла из всех вложенных папок;
- /Q – удаление без запроса на подтверждение ;
- S — Системные;
- H — Скрытые;
- R – Только для чтения;
- A — Для архивирования
- Также перед атрибутами можно использовать знак минус «-», который имеет значение «НЕ». Например, «-S» означает не системный файл.
Обычно, для того чтобы воспользоваться командной DEL нужно сначала перейти в папку, в которой находится файл для удаления, и после этого выполнить команду. Для того чтобы сменить диск нужно просто ввести букву диска и двоеточие. А для перемещения по папкам нужно использовать команду « CD ».
После того как вы попали в нужную папку можно приступать к удалению файлов. Для этого просто введите команду DEL и название файла.
Также, при необходимости вы можете удалять файлы, не перемещаясь по папкам. В этом случае нужно указывать полный путь к документу.
Если есть необходимость выполнить запрос на подтверждение удаления каждого из файлов, то к команде DEL нужно добавить параметр « /p ». В этом случае в командной строке будет появляться запрос на удаление файла и пользователю нужно будет ввести букву «Y» для подтверждения.
Нужно отметить, что при использовании параметра « /a », отвечающие за атрибуты буквы нужно вводить через двоеточие. Например, для того чтобы удалить все файлы с атрибутом « только для чтения » и с расширением « txt » нужно ввести:
Аналогичным образом к команде DEL можно добавлять и другие параметры. Комбинируя их вы сможете создавать очень мощные команды для удаления файлов через командную строку Windows. Ниже мы приводим еще несколько примеров.
Уничтожение всех файлов в корне диска D:
Уничтожение всех файлов с расширением « txt » в корне диска D :
Уничтожение всех файлов в папке d:\doc (документы с атрибутами будут пропущены):
Уничтожение всех файлов с атрибутом «только для чтения» и расширением « txt » в папке d:\doc :
Удаление папок через командную строку
Если вам нужно удалить папку через командную строку Windows, то указанные выше команды вам не помогут. Для удаления папок существует отдельная команда RD или RMDIR (сокращение от английского Remove Directory).
Команды RD и RMDIR являются синонимами и предназначены для удаления папок. Они могу принимать следующие параметры:
- /S — удаление всего дерева каталогов, при использовании данного параметра будет удалена не только сама папка, но и все ее содержимое;
- /Q – удаление дерева папок без запроса на подтверждение;
Например, для того чтобы удалить папку достаточно ввести команду RD и название папки. Например:
Если папка содержит вложенные папки или файлы, то при ее удалении будет выведена ошибка « Папка не пуста ».
Для решения этой проблемы к команде RD нужно добавить параметр « /s ». В этом случае удаление проходит без проблем, но появляется запрос на подтверждение удаления. Например:
Для того чтобы удаление дерева папок прошло без появления запроса на подтверждение к команде нужно добавить параметр « /q ». В этом случае папка удаляется без лишних вопросов. Например:
Также команда RD может принимать сразу несколько папок, для этого их нужно просто разделить пробелом. Например, чтобы сразу удалить
Если же вам нужно удалить через командную строку папку, которая сама содержит пробел, то в этом случае ее название нужно взять в двойные кавычки. Например:
Комбинируя команды DEL и RD , можно создавать мощные скрипты для очистки и удаления папок в операционной системе Windows.
Удаление файлов и папок в PowerShell
В консоли PowerShell вы можете использовать рассмотренные выше команды DEL и RD , либо « Remove-Item » — собственную команду (командлет) PowerShell. С помощью данной команды можно удалять можно удалять файлы, папки, ключи реестра, переменные и другие объекты.
Например, для того чтобы удалить файл или папку в консоли PowerShell можно использовать команду:
Читайте также: