Командная строка Windows (CMD) — мощный инструмент, который предоставляет доступ к широкому набору команд для выполнения различных задач, от работы с файлами до настройки сети и автоматизации процессов. В статье рассмотрим 100 популярных команд CMD, которые пригодятся как новичкам, так и опытным пользователям. Для удобства они разделены по категориям.
Разделы
- Общие команды CMD
- Сетевые команды CMD
- Команды для управления процессами
- Команды для управления файловой системой
- Команды для управления пользователями
- Команды для управления безопасностью
- Команды для диагностики и устранения неполадок
- Команды для скриптинга и автоматизации
- Команды для управления сетевыми подключениями
- Команды для управления печатью
- Дополнительные команды в Windows
Общие команды командной строки (CMD) позволяют пользователям управлять ОС Windows через интерфейс командной строки. Они нацелены на различные задачи – от получения справочной информации до управления процессами.
- hel — выводит список всех доступных команд и их краткое описание, что полезно для получения информации о базовых командах.
- cls — очищает экран командной строки. Если в окне CMD много текста, этой командой можно убрать весь вывод и начать работу «с чистого листа».
- exit — завершает текущую сессию командной строки и закрывает окно CMD.
- echo — выводит сообщения в консоль или включает/выключает отображение команд в пакетных файлах – echo Hello, World! выведет Hello, World! на экран.
- ver — отображает версию операционной системы Windows.
- title — изменяет заголовок окна командной строки. Например, title Моя Командная Строка изменит заголовок на «Моя Командная Строка».
- pause — временно приостанавливает выполнение скрипта, но при нажатии любой клавиши можно продолжить работу.
- date — позволяет узнать или изменить текущую дату в системе.
- time — отображает или изменяет текущее время в системе.
- tasklist — выводит список всех запущенных процессов с их PID (идентификатором процесса).
- powercfg — управляет настройками энергопотребления и профилями питания.
- fc — сравнивает два файла и отображает их различия.
Сетевые команды CMD
В разделе собраны основные сетевые команды CMD, которые помогут управлять подключениями, диагностировать сетевые проблемы и выполнять разнообразные операции с сетью. Они незаменимы для системных администраторов и пользователей, нуждающихся в решении сетевых задач.
- ping — проверяет связь с удаленным узлом, отправляя ему пакеты данных. Например, ping google.com проверит доступность сервера Google.
- ipconfig — отображает конфигурацию сетевых интерфейсов системы (IP-адреса, маску подсети и шлюзы).
- netstat — выводит информацию о сетевых соединениях и открытых портах
- netstat -an — показывает все активные соединения.
- tracert — отслеживает маршрут пакета до целевого узла – tracert yandex.ru покажет все узлы, через которые проходит запрос.
- nslookup — используется для проверки информации о DNS-серверах.
- nslookup example.com — отображает IP-адрес сайта example.com.
- arp — выводит или изменяет записи ARP (Address Resolution Protocol) –: arp -a покажет текущие записи ARP.
- route — управляет таблицей маршрутизации сети – route print выведет все существующие маршруты в системе.
- net use — подключает сетевые диски. Например, net use Z: \\server\folder подключит сетевой ресурс как диск Z:.
- netsh — позволяет настраивать различные параметры сети через командную строку.
- netsh wlan show profiles — отображает сохраненные профили Wi-Fi.
Команды для управления процессами
Команды ниже позволяют эффективно управлять процессами и службами на вашем ПК: помогают запускать службы, планировать задачи, управлять активными процессами, а также выключать или перезагружать систему. С их помощью можно автоматизировать выполнение задач, получать информацию о состоянии системы и контролировать её работоспособность.
- sc — управляет службами Windows. Пример: sc start servicename запустит службу с именем servicename.
- schtasks — управляет планировщиком задач. Так, schtasks /create /tn «Моя Задача» /tr notepad.exe /sc once /st 12:00 создаст задачу для запуска.
- start — запускает программу или команду в новом окне. Например, start notepad откроет блокнот.
- wmic — взаимодействует с системой через Windows Management Instrumentation – wmic process list brief покажет список процессов.
- shutdown — выключает, перезагружает или завершает работу системы. Так, shutdown /s /f /t 0 немедленно выключит компьютер.
- systeminfo — выводит информацию о системе, включая версию Windows, параметры оборудования и установленные обновления.
Команды для управления файловой системой
Команды для управления файловой системой в CMD позволяют работать с файлами и папками: просматривать содержимое директорий, перемещаться между папками, создавать и удалять файлы и каталоги, копировать данные с использованием различных опций.
- dir — отображает список файлов и каталогов в указанной директории. Пример: dir C:\Windows выведет содержимое папки Windows.
- cd — меняет текущий каталог. Так, cd C:\Users перейдет в папку пользователей.
- md NewFolder — создает новую папку.
- rd — удаляет пустую папку. Пример: rd NewFolder удалит папку NewFolder.
- copy — копирует файлы из одного места в другое.
- move — перемещает файлы или папки.
- del — удаляет файлы. Например, del file.txt удалит файл file.txt.
- xcopy — копирует файлы и директории, включая их структуру. Так, xcopy C:\Source D:\Destination /s /e скопирует все файлы и папки из Source в Destination.
- robocopy — более продвинутая версия xcopy, используется для надежного копирования данных. Например, robocopy C:\Source D:\Destination /mir синхронизирует две папки.
Команды для управления пользователями
Команды для управления пользователями предоставляют средства для администрирования учетных записей, настройки групповых прав и управления политиками безопасности. А также позволяют администраторам эффективно управлять пользователями в системе, добавлять новых пользователей, изменять их права и настраивать параметры учетных записей.
- net user — управляет учетными записями пользователей.
- net user UserName /add — добавляет нового пользователя с именем UserName.
- net localgroup — управляет локальными группами пользователей.
- net localgroup Administrators UserName /add — добавляет пользователя в группу администраторов.
- whoami — выводит имя текущего пользователя и информацию о его правах.
- runas — позволяет запускать программы от имени другого пользователя. Так, runas /user:administrator cmd запустит CMD с правами администратора.
- net accounts — управляет параметрами учетных записей, например, минимальной длиной пароля и периодом его действия.
- gpupdate — обновляет групповые политики на локальном компьютере, что полезно для администраторов, управляемых сетей.
- taskview — открывает таймлайн Windows, показывая историю активности пользователя, полезно для управления и поиска ранее использованных файлов и приложений.
- msg — отправляет сообщение пользователям, подключенным к системе. Пример: msg «Система будет перезагружена через 5 минут» отправит сообщение всем пользователям.
Команды для управления безопасностью
Команды для управления безопасностью предназначены для обеспечения защиты данных и управления доступом к файлам и системным ресурсам, что позволяет шифровать файлы, проверять целостность системных файлов и управлять правами доступа.
- cipher — управляет шифрованием файлов на дисках NTFS.
- cipher/e — зашифровывает файлы в указанной директории.
- sfc — проверяет целостность системных файлов и автоматически восстанавливает их при обнаружении повреждений.
- sfc /verifyonly — проверяет системные файлы на наличие повреждений, но не исправляет их автоматически.
- sfc /scannow — выполняет полную проверку системы.
- cacls — изменяет права доступа к файлам. Пример: cacls file.txt /g UserName:F даст пользователю полный доступ к файлу.
- icacls — расширяет возможности команды cacls и предоставляет дополнительные параметры для управления правами доступа.
- takeown — позволяет взять владение файлом или директорией. Так, takeown /f file.txt предоставит доступ к файлам.
- attrib — изменяет атрибуты файлов и папок. Например, attrib +r file.txt сделает файл доступным только для чтения.
Команды для диагностики и устранения неполадок
Команды из раздела помогают находить и устранять неполадки в системе, восстанавливать загрузочные параметры и проверять целостность данных на диске, а также они позволяют решать проблемы, связанные с запуском операционной системы или со сбоями на уровне файловой системы.
- chkdsk — проверяет диск на наличие ошибок и исправляет их. Так, chkdsk C: /f выполнит проверку диска C.
- bootrec — восстанавливает загрузочный сектор.
- bcdedit — управляет параметрами загрузки системы.
- bcdedit /set {current} safeboot minimal — включает безопасный режим.
Команды для скриптинга и автоматизации
Команды, приведенные ниже, предназначены для создания сложных сценариев выполнения команд, что позволяет автоматизировать повседневные задачи и более эффективно управлять процессами.
- for — создает цикл для выполнения команд. Например, for %i in (1 2 3) do echo %i выведет числа 1, 2, 3.
- if — выполняет условное выполнение команд.
- goto — перенаправляет выполнение скрипта к определенной метке.
- call — вызывает другую команду или скрипт.
Команды для управления сетевыми подключениями
Команды для управления сетевыми подключениями предоставляют возможности для настройки, диагностики и оптимизации сетевых параметров и соединений, позволяя управлять IP-адресами, подключаться и отключаться от сетей.
- ipconfig /release — освобождает текущий IP-адрес, назначенный DHCP сервером, что позволяет при необходимости сбросить сетевое подключение.
- ipconfig /renew — обновляет IP-адрес, полученный от DHCP сервера. Часто используется после команды ipconfig /release для восстановления подключения.
- ipconfig /flushdns — очищает кэш DNS, если изменился DNS-сервер или необходимо устранить проблемы с доступом к сайтам.
- ipconfig /displaydns — выводит содержимое кэша DNS, часто используется для диагностики проблем с DNS.
- netsh interface ip set address — используется для назначения статического IP-адреса сетевому интерфейсу. Пример: netsh interface ip set address Ethernet static 192.168.1.100 255.255.255.0 192.168.1.1.
- netsh wlan show drivers — выводит информацию о драйверах беспроводной сети, что полезно при настройке Wi-Fi подключения.
- netsh wlan show interfaces — отображает текущие активные беспроводные подключения и их параметры, например, мощность сигнала.
- netsh wlan connect — подключает к указанной Wi-Fi сети. Для этого нужно ввести: netsh wlan connect name=MyWiFi.
- netsh wlan disconnect — отключает текущее беспроводное подключение.
- netsh advfirewall set allprofiles state — управляет состоянием брандмауэра Windows – netsh advfirewall set allprofiles state off отключает брандмауэр для всех профилей.
- netsh int ip reset — сбрасывает настройки IP стека (TCP/IP) к значениям по умолчанию, помогая при сетевых неполадках.
- route add — добавляет маршрут в таблицу маршрутизации. Например, route add 192.168.2.0 mask 255.255.255.0 192.168.1.1 добавит маршрут для подсети 192.168.2.0 через шлюз 192.168.1.1.
- route delete — удаляет указанный маршрут из таблицы маршрутизации.
- netsh interface show interface — выводит список всех сетевых интерфейсов в системе, включая их состояние и тип.
- net view — отображает список компьютеров в локальной сети – net view \\server покажет общие ресурсы на указанном сервере.
- net use /delete — удаляет существующее подключение к сетевому ресурсу. Так, net use Z: /delete отключает сетевой диск Z:.
- ftp — открывает FTP-клиент для передачи файлов между локальной и удаленной системами. Например, по команде ftp ftp.example.com ПК подключится к FTP-серверу.
- telnet — используется для подключения к удаленным системам через Telnet-протокол. Так, telnet example.com 23 подключит ПК к серверу на порту 23.
- getmac — выводит MAC-адреса всех сетевых интерфейсов компьютера.
Команды для управления печатью
В этом разделе команды для управления печатью позволяют эффективно управлять процессом печати (включая очередью на печать), настройками принтеров и заданиями на печать.
- print — отправляет файл на печать. Например, print C:\Documents\file.txt отправит текстовый файл на принтер по умолчанию.
- rundll32 printui.dll,PrintUIEntry — открывает диалоговое окно для установки или управления принтерами – rundll32 printui.dll,PrintUIEntry /in /n\\server\printer установит сетевой принтер.
- net print — отображает список заданий на печать – net print \\server\printer покажет очередь печати на указанном принтере.
- net stop spooler — останавливает службу диспетчера очереди печати (spooler), особенно когда требуется устранить зависшие задания печати.
- net start spooler — запускает службу диспетчера очереди печати после её остановки.
- wmic printer list brief — выводит список установленных принтеров с краткой информацией о каждом из них.
- wmic printer where default=true get name — выводит имя принтера, установленного по умолчанию.
- wmic printer where name=’PrinterName’ delete — удаляет указанный принтер из системы.
- wmic printerconfig — отображает информацию о конфигурации принтера, включая его настройки и параметры печати.
- cscript prnjobs.vbs — используется для управления заданиями печати через скрипт prnjobs.vbs, который можно использовать для удаления, приостановки или возобновления заданий.
Дополнительные команды в Windows
В дополнение к основным инструментам для управления системой, командная строка Windows предоставляет ряд дополнительных команд, которые расширяют возможности администрирования и диагностики.
- wevtutil — управляет журналами событий Windows. Например, wevtutil qe System выведет события из системного журнала.
- tzutil — управляет настройками часовых поясов. tzutil /s Pacific Standard Time установит часовой пояс на Тихоокеанское стандартное время.
- taskkill — завершает процесс по его PID или имени. Так, taskkill /F /PID 1234 завершит процесс с PID 1234.
- powercfg /hibernate off — отключает режим гибернации.
- powercfg /energy — создает отчет об использовании энергии системой.
Загрузить PDF
Загрузить PDF
Командная строка — удобный инструмент для быстрого и эффективного выполнения задач в Windows. Это полнофункциональный и часто недооцененный инструмент компьютерной системы. Действия в командной строке осуществляются без мышки, поэтому она идеально подходит для людей, предпочитающих работать за клавиатурой. Из этой статьи вы узнаете, что собой представляет Командная строка и как с ее помощью выполнять базовые задачи. Прочитав данную статью, вам будет намного проще выполнять базовые задачи через Командную строку.
-
Нажмите на меню «Пуск» и найдите строку поиска. Введите в нее «командная строка» или «cmd». Дважды нажмите на Командную строку в списке результатов, чтобы запустить утилиту. По умолчанию Командная строка имеет следующий вид: C:\users\Username>.
-
Воспользуйтесь командой mkdir для создания новой папки. Чтобы создать папку, необходимо ввести «mkdir-> имя папки». В приведенном выше примере новая папка wikihow была создана с помощью команды: mkdir wikihow.
-
Чтобы перейти в другую папку, воспользуйтесь командой «cd», или change directory (изменить каталог). Для этого введите следующее: cd -> название папки. В нашем примере нужно ввести cd wikihow. Как показано на картинке выше, новая строка будет иметь следующий вид: C:\users\Ivan\wikihow>.
-
Чтобы проверить содержимое текущей папки, воспользуйтесь командой dir. Просто введите dir и нажмите Enter, после чего в Командной строке отобразится список содержимого папки.
-
Для этого воспользуйтесь командой cls. Просто введите cls и нажмите ↵ Enter, чтобы очистить содержимое с экрана. Как показано на примере выше, на экране останется лишь командная строка.
-
Чтобы создать новый файл, введите команду NUL >. Введите NUL > название файла и нажмите Enter, чтобы создать новый пустой файл. В приведенном выше примере было введено NUL> newfile.
-
Теперь повторите шаг 6, чтобы создать еще один файл. Назовите этот файл newFile1. Для этого необходимо ввести команду NUL> newFile1.
-
Теперь проверьте содержимое папки с помощью команды dir. Как показано на примере сверху, папка wikihow теперь содержит два новых файла: newFile и newFile1.
-
Чтобы удалить файлы, воспользуйтесь командой del. Введите del -> название файла, чтобы удалить конкретный файл. Введите del newFile, чтобы удалить файл с названием newFile. Теперь проверьте содержимое папки wikihow и убедитесь, что файл newFile был удален. Очистите данные с экрана командой cls.
-
Чтобы выполнить следующий шаг (удалить папку), вам сначала нужно покинуть текущий активный каталог. Для этого воспользуйтесь версией команды для смены папки. Введите команду cd.., чтобы перейти в родительский каталог, не вводя его название. Введите: cd.. как показано на примере выше. Обратите внимание, что в строке теперь написано C:\users\Brian>, а это значит, что вы больше не находитесь в папке wikihow.
-
Чтобы удалить папку, воспользуйтесь командой rmdir. Пока вы находитесь в папке, ее нельзя будет удалить (смотри шаг 10). Если папка пустая (в ней нет файлов), ее можно удалить, просто введя команду rmdir -> имя папки. В нашем примере в папке wikihow все еще находится файл newFile1, так что команда rmdir не сработает. Как показано на примере выше, если папка не пустая, вы получите сообщение об ошибке.
-
Чтобы удалить папку, в которой содержатся файлы, воспользуйтесь измененной командой rmdir. Введите команду rmdir /s wikihow. Введите rmdir /s wikihow и нажмите Enter. Появится окно подтверждения удаления папки, введите Y или N. Введите Y, чтобы подтвердить удаление, или N, чтобы отменить его. Когда вы введете Y, папка и все ее содержимое будут удалены из системы.
Реклама
Советы
- Команды можно вводить как заглавными, так и строчными буквами.
- Используйте команду CLS для регулярной очистки экрана. Так вам будет намного удобнее работать.
Реклама
Предупреждения
- Для работы с командной строкой нужна практика, а также повышенное внимание при удалении или перемещении файлов. Поскольку в командой строке при удалении файлов не бывает предупреждений или второй попытки, убедитесь, что удаляете именно те файлы и что важные документы останутся нетронутыми.
Реклама
Что вам понадобится
- Компьютер, работающий на операционной системе Windows
- Клавиатура
Источники
Об этой статье
Эту страницу просматривали 183 098 раз.
Была ли эта статья полезной?
- Хостинг
- База знаний
- Cloud & VPS хостинг
- Windows
- Монтирование HDD в Windows 2003
Помимо консоли «Управление дисками» можно управлять дисками и томами с помощью программ, запускаемых из командной строки.
Вот примеры таких программ.
Chkdsk проверяет диски на наличие ошибок и выполняет восстановление после их обнаружения.
Convert преобразует тома FAT или FAT32 в тома NTFS.
DiskPart расширяет базовые и динамические тома, добавляет зеркала или разделяет зеркальные наборы, назначает и удаляет буквы дисков, создает и удаляет разделы и тома, преобразует базовые диски в динамические, а также диски с основной загрузочной записью — в диски с таблицей разделов с кодами GUID, импортирует диски, подключает отключенные диски и тома.
Format форматирует том или подключенный диск в файловой системе.
Fsutil выполняет для файловой системы NTFS такие задачи, как управление дисковыми квотами, отключение тома или запрашивание сведений о томе. Поскольку программа fsutil является весьма мощной, ее должны применять только опытные пользователи, имеющие опыт работы с Windows XP Professional или с системами семейства Windows Server 2003.
Mountvol подключает том к папке NTFS и отключает от нее.
Связанные статьи
Quick Tips
- Create a Folder: Type ‘mkdir FolderName’ and press ‘Enter’ to create a new folder.
- Create a File: Type ‘type nul’ > ‘FileName.txt’ and press ‘Enter’ to create a new file.
- Create Multiple Folders: Use ‘mkdir Folder1 Folder2 Folder3’ to create multiple folders at once.
How to Create Folders From CMD in Windows
Create a Single Folder
Step 1: Press the Windows key on your keyboard, type Command Prompt, and click Open.
Step 2: Now, it is time to select the destination where you want to create a new folder. Type the below command and hit Enter.
Note: In place of YourDirectoryPath below, enter your specified destination path. For example, if you want to create a folder on the Desktop, type cd desktop and press Enter.
cd YourDirectoryPath
If you change your mind and want the directory to be changed, type the drive name with the colon (:) symbol (example- D:) and hit Enter.
Step 3: Once you have reached the desired destination, type the below command and press Enter.
Note: Replace NameofYourDirectory with the folder’s name (for example- Games or Personal Files or Movies, etc.)
mkdir NameofYourDirectory
That’s it. You have successfully created a single folder on your Windows computer using Command Prompt. If you are looking to create multiple folders or subfolders, continue reading.
Create Multiple Folders or Subfolders
We will demonstrate how to create three folders at the same time.
Step 1: Press the Windows key on your keyboard, type Command Prompt, and click Open.
Step 2: Now, it is time to select the destination where you want to create a new folder. Type the below command and hit Enter.
Note: In place of YourDirectoryPath below, enter your specified destination path. For example, if you want to create a folder on the Desktop, type cd desktop and press Enter.
cd YourDirectoryPath
If you change your mind and want the directory to be changed, type the drive name with the colon (:) symbol (example- D:) and hit Enter.
Step 3: Once you have reached the desired destination, type the below command and press Enter.
Note: Replace NameofYourDirectory with the name of the folder. For example, it can be Games, Document, and Movies. Ensure you keep a gap between the folder (directory) names.
mkdir NameofYourDirectory1 NameofYourDirectory2 NameofYourDirectory3
There you go. You have successfully created a folder using the Windows Command Prompt. Continue with the steps below to create a subdirectory using CMD.
Step 4: You know the name of the folders you created. First, you must choose the folder you want subfolders in, type the below command, and hit Enter.
cd NameofYourDirectory
Step 5: In the directory where you want to create subfolders, type the following command and press Enter.
Note: You can have multiple subfolders in a single folder. However, be sure to leave a gap between the folder name (directory).
md NameofSubDirectory1 NameofSubDirectory2 NameofSubDirectory3
There you have it. The subfolders are created under the folder you want. You can repeat the above steps to create multiple subfolders in multiple folders.
Keep reading if you want to take it further and create a file in cmd.
How to Create a File Using CMD in Windows
Create an Empty File
Step 1: Press the Windows key on your keyboard, type Command Prompt, and click Open.
Step 2: Now, it is time to select the destination where you want to create a new folder. Type the below command and hit Enter.
Note: In place of YourDirectoryPath below, enter your specified destination path. For example, if you want to create a folder on the Desktop, type cd desktop and press Enter.
cd YourDirectoryPath
Step 3: Now that you are in the destination directory, type the below command and press Enter.
Note: Replace the filename with the name you want, and ‘.FileExtensions’ should be set to the file extension, such as .txt, .docx, etc.
type nul > filename.FileExtensions
That’s about it. An empty file will be created with the set extension for you to check and work on later. If you want to make a file containing some text using cmd, continue reading.
Create a File Containing Some Text
Step 1: Press the Windows key on your keyboard, type Command Prompt, and click Open.
Step 2: Now, it is time to select the destination where you want to create a new folder. Type the below command and hit Enter.
Note: In place of YourDirectoryPath below, enter your specified destination path. For example, if you want to create a folder on the Desktop, type cd desktop and press Enter.
cd YourDirectoryPath
Step 3: Now, in the destination directory, type the below command and press Enter.
Note: Replace the filename with the name you want, and ‘.FileExtensions’ should be set to the file extension, such as .txt, .docx, etc.
copy con filename.FileExtensions
Step 4: Type the text you want to put in the file. If you are entering multiple lines, use the Enter key.
Example: This is a test writeup to test the method and create a file with content using Command Prompt.
Step 5: Press Ctrl + Z on your keyboard once you add text to the file and hit Enter.
With this, a new file will be created with the entered details, which you can access via File Explorer and edit further if required. If, for some reason, you are unable to execute the command, reach out to Microsoft Support and get the issue resolved.
If there is anything we have missed in the article, please refer to the FAQ section below.
FAQs on Create and Delete a Folder Command Prompt
1. How do I delete a folder using Command Prompt?
To delete a folder and its contents, use the “rmdir” (remove directory) command followed by the folder path. For example: rmdir /s /q C:\Users\YourUsername\Desktop\OldFolder
2. What’s the difference between “rmdir” and “rd” commands?
Both “rmdir” and “rd” are used to remove directories. “rmdir” is the full command, while “rd” is a shorthand version of it. You can use either command interchangeably.
3. Can I recover a folder I accidentally deleted using Command Prompt?
Once a folder is deleted using Command Prompt, it typically goes to the Recycle Bin, where you can restore it. If you’ve emptied the Recycle Bin, data recovery software may be necessary to attempt recovery.
Now that you know how to create a folder or file using Windows Command Prompt, you can quickly automate tasks, manage remote systems, create files, or enhance your command-line proficiency.
Was this helpful?
Thanks for your feedback!
The article above may contain affiliate links which help support Guiding Tech. The content remains unbiased and authentic and will never affect our editorial integrity.
В состав систем Windows Server 2003 и Windows XP Professional Edition входит ряд утилит командной строки, которые позволяют сэкономить время и силы при выполнении таких типичных операций, как создание
и управление журналами событий, настройка страничного файла и файла Boot.ini, управление процессами и определение свободного дискового пространства. Применение утилит командной строки представляет собой промежуточный вариант между написанием сценариев и работой через пользовательский интерфейс и при решении некоторых задач может избавить пользователей от существенных временных затрат, необходимых для разработки соответствующих сценариев. Конечно, и в таком случае потребуется потратить несколько минут на ознакомление с синтаксисом, применяемым при запуске данных утилит, но это время будет потрачено не впустую. Итак, давайте посмотрим, каковы эти утилиты в действии.
Создание журналов событий и управление ими
Для создания журналов событий и управления ими из командной строки в Windows 2003 и XP имеется три программных инструмента: Eventcreate.exe, Eventquery.vbs, и Eventtriggers.exe. С помощью Eventcreate.exe можно создавать события в системном журнале Windows NT. Например, если нужно создать в журнале приложений запись, соответствующую сообщению об ошибке, применяется следующая команда:
Eventcreate /S vm75459312b.LissWare.Net
/L application
/SO «Eventcreate TEST»
/T Error
/ID 999
/D «Event log creation with Eventcreate.exe»
С помощью ключа /S задается имя сервера, ключ /L определяет используемый журнал событий, в ключе /SO указывается имя источника, который является причиной события. Ключ /T определяет тип создаваемого события (например, success (успех), error (ошибка), warning (предупреждение) или information (информация)). Через ключ /ID определяется идентификатор ID записи журнала событий. Ключ /D позволяет снабдить данное событие соответствующим описанием. Если для доступа к удаленной системе требуются полномочия, отличные от тех, которые имеет текущий пользователь, то с помощью ключа /U можно указать имя требуемой учетной записи в виде «доменимя пользователя», а с помощью ключа /P задать соответствующий пароль. Для получения более полной информации о допустимых ключах и параметрах утилиты следует использовать ключ /?.
После того как мы создали в журнале запись, соответствующую определенному событию, ее можно просмотреть с помощью Eventquery. Данный инструмент представляет собой сценарий, написанный на языке VBScript с использованием функциональности Windows Management Instrumentation (WMI), а именно класса Win32_NTEventlogFile. Например, если требуется найти созданное нами выше событие, то соответствующая команда будет выглядеть следующим образом:
C:>Eventquery /S vm75459312b.LissWare.Net
/L application
/FI «type eq Error»
И вновь здесь с помощью ключа /S задается имя сервера, а ключ /L определяет используемый журнал событий. Ключ /FI является специфичным для Eventquery, он определяет фильтр, применяемый для поиска записи в журнале событий. В рассматриваемом примере фильтр возвращает те записи журнала, которые имеют тип error. Разумеется, в ключе /FI могут задаваться и другие фильтры. Можно, например, организовывать поиск записи одновременно по ее типу (например, success, error или information) и идентификатору. При построении фильтра допускается комбинирование различных критериев, что иллюстрируется приведенной ниже командой, где для связи критериев применяется логический оператор (в данном случае это оператор AND):
C:>Eventquery /S vm75459312b.LissWare.Net
/L application
/FI «type eq errorAND id eq 999»
Как и в случае с Eventcreate, полный список допустимых ключей можно получить, используя ключ /?. Отмечу лишь, что здесь имеется возможность задать формат выводимых данных, для чего применяется ключ /FO (это может быть формат данных, разделяемых запятой (CSV — comma-separated value) или табличный (table) формат), а если требуется вывести дополнительную информацию о записях журнала событий, то нужно использовать ключ /V (verbose).
Возможность выполнения запросов для поиска тех или иных событий в журнале, безусловно, важна, но куда более интересно организовать выполнение какого-либо действия в качестве реакции на появление определенного события в журнале. Для этих целей служит утилита Eventtriggers, которая задействует механизмы мониторинга, имеющиеся в WMI. Допустим, нам нужно выключить систему после появления в журнале рассмотренного выше события. Это можно сделать с помощью следующей команды:
C:>Eventtriggers /S vm75459312b.LissWare.Net
/Create
/TR «Detect EventCreate»
/L application
/T ERROR
/EID 999
/TK «Shutdown.exe /S /T 0»
Ключ /S определяет имя системы, а ключ /Create предписывает сценарию создать новый триггер, имя которого задается при помощи параметра ключа /TR. Ключ /L предписывает использовать журнал приложений, обеспечивая фильтрацию не интересующих событий. При этом соответствующий триггер будет запускаться только при обнаружении записей, соответствующих событиям, имеющим тип error и идентификатор (ID) 999, что определяется соответственно ключами /T и /EID. Если нужно добавить критерий поиска по имени источника, послужившего причиной события, тогда следует задействовать ключ /SO. С помощью ключа /TK определяется задача, которая должна выполняться в качестве реакции на событие, в данном случае это отключение системы, выполняемое с помощью утилиты shutdown.exe. В данной утилите используется ключ /S, предписывающий выполнить выключение компьютера (shutdown), и ключ /T 0, который означает, что отключение системы должно быть выполнено немедленно (с интервалом ожидания 0 с).
Если осуществляется процедура выключения, то Eventtriggers попросит указать имя и пароль для проверки соответствующих полномочий. Отмечу, что применение команды в таком виде для промышленных систем может привести к проблемам, поскольку заданное в качестве условия событие может происходить достаточно часто, что в свою очередь приведет к регулярным выключениям соответствующей системы. Чтобы избежать подобной ситуации, нужно сузить критерии запроса (например, с помощью ключа /SO) и изменить тип используемого журнала, например, на security (журнал безопасности). Следует также переопределить тип рассматриваемых записей журнала, например, на failureaudit (неудачная попытка аудита). В качестве реакции на событие можно использовать какое-то более безобидное действие, чем выключение системы, например отправку соответствующего уведомления по электронной почте или через пейджинговую систему. Здесь мы не ограничены в выборе.
Для просмотра запущенных в системе триггеров может использоваться следующая команда:
C:>Eventtriggers /S vm75459312b.LissWare.Net /Query
В результате ее выполнения будет выведен список всех триггеров и соответствующих им задач. Нужно иметь в виду, что отслеживаться могут только те записи журнала, которые имеют статус information (информация), warning (предупреждение), successaudit (аудит выполнен успешно) и failureaudit (неудачная попытка аудита); записи типа success (успех) отслеживаться не могут.
Файл подкачки и файл Boot.ini
Для управления конфигурацией страничного файла из командной строки в системах Windows 2003
и XP предназначен сценарий PageFileConfig.vbs. В нем используется функциональность классов WMI Win32_PageFileSetting и Win32_PageFileUsage. При помощи ключей /Change, /Create и /Delete можно соответственно модифицировать, добавлять и удалять записи из файла boot.ini. Например, приведенная ниже команда позволяет изменить начальный и максимальный размеры страничного файла:
C:>PageFileConfig /Change /S vm75459312b.LissWare.Net
/I 512 /M 1024 /VO C:
Здесь ключ /I задает начальный размер файла, ключ /M — его максимальный размер, ключ /VO определяет имя тома. Если требуется создать страничный файл, тогда, как показано ниже, следует использовать ключ /Create в сочетании с аналогичным набором параметров:
C:>PageFileConfig /Create /S vm75459312b.LissWare.Net
/I 512 /M 1024 /VO D:
Чтобы внесенные изменения вступили в силу, компьютер необходимо перезагрузить. Сам рассматриваемый сценарий не выполняет перезагрузку системы, но, как мы знаем, это можно сделать из командной строки с помощью утилиты Shutdown. При необходимости просмотреть настройки страничного файла следует использовать ключ /Query. Если при запуске сценария не применяется никаких ключей, то по умолчанию он выполняет запрос конфигурации страничного файла системы и выводит соответствующую информацию на экран.
Управление содержимым файла boot.ini из командной строки осуществляется с помощью имеющейся в Windows 2003 и XP утилиты bootcfg.exe. Пользоваться этой программой очень просто. Допустим, у нас имеется компьютер с установленной стандартным образом системой Windows 2003. В этом случае в файле boot.ini есть только одна строка, аналогичная показанной на рис. 1. Чтобы создать в этом файле новую строку, нужно выполнить показанную ниже команду, при этом в boot.ini добавится запись, которая является копией существующей строки:
C:>Bootcfg /Copy /ID 1
/D «Windows Server 2003, Enterprise — EMS BOOT»
C:>type C:oot.ini [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)WINDOWS=»Windows Server 2003, Enterprise» /fastdetect
|
Рисунок 1. Пример содержимого файла Boot.ini |
Ключ /Copy предписывает утилите выполнить копирование той строки файла boot.ini, которая определяется ключом /ID (в данном случае файл содержит только одну строку). С помощью ключа /D можно присвоить копируемой строке необходимое описание. Для того чтобы активировать добавленную запись, используется служба Emergency Management Services (EMS). EMS представляет собой новый механизм удаленного управления, реализованный в Windows 2003. Для включения EMS при запуске утилиты Bootcfg применяется следующая команда:
C:>Bootcfg /EMS ON /PORT COM1 /BAUD 19200 /ID 2
Здесь ключ /EMS ON активирует EMS, а ключ /PORT служит для задания номера используемого COM-порта. С помощью ключа /BAUD устанавливается скорость обмена по выбранному порту. Ключ /ID предписывает выполнить модификацию второй строки файла, что соответствует только что добавленной строке. Для просмотра всех возможных параметров для настройки файла boot.ini нужно запустить утилиту с ключом /?.
Итак, файл boot.ini дополнен второй строкой, теперь можно сделать ее строкой, используемой по умолчанию. Для этого применяется ключ /Default:
C:>Bootcfg /Default /ID 2
На рис. 2 показан результат работы утилиты Bootcfg для модификации файла Boot.ini. Для того чтобы удалить внесенные изменения, запустим Bootcfg с ключом /Delete, как показано ниже:
C:>Bootcfg /Delete /ID 1
C:>type C:oot.ini [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS redirect=COM1 redirectbaudrate=19200 [operating systems] multi(0)disk(0)rdisk(0)partition(1)WINDOWS= «Windows Server 2003, Enterprise — EMS BOOT» /fastdetect /redirect multi(0)disk(0)rdisk(0)partition(1)WINDOWS= «Windows Server 2003, Enterprise» /fastdetect
|
Рисунок 2. Вид файла Boot.ini после его модификации утилитой Bootcfg |
Обратите внимание на то, что в качестве параметра ключа /ID здесь указывается 1. Это связано с тем, что в предыдущем примере мы сделали добавленную запись используемой по умолчанию, соответственно это привело к тому, что теперь в файле boot.ini данная запись переместилась со второй позицию на первую.
Управление процессами
В Windows 2003 и XP для управления процессами предназначены два программных инструмента, Tasklist.exe и Taskkill.exe. В принципе с помощью этих утилит можно выполнить из командной строки все те действия, которые обычно выполняются через графический интерфейс диспетчера задач. Но это далеко не все, поскольку возможности представленных утилит гораздо шире.
Если просто запустить программу Tasklist без параметров, то на экран будет выведен список всех запущенных в системе процессов. Но полностью возможности данной утилиты раскрываются при использовании ее ключей, при этом можно выполнять различные виды поиска и собирать дополнительную информацию о процессах. Допустим, нам нужно увидеть все процессы в системе, которые занимают в памяти более 2 Mбайт. Это можно сделать с помощью запуска Tasklist с ключом /FI, как показано ниже:
C:>Tasklist /FI «MEMUSAGE gt 2048»
В данном примере ключом /FI задается фильтр, использующий для определения критерия фильтрации ключевое слово MEMUSAGE. В Tasklist поддерживаются различные методы выборки и фильтрации процессов. Например, можно производить выбор процессов по таким параметрам, как IMAGENAME, SERVICES или WINDOWTITLE. Выбор процесса по IMAGENAME — это просто выбор процесса по его имени. Если используется ключ /SVC, то в этом случае Tasklist возвращает список имен всех служб Windows, запущенных выбранным процессом. И наоборот, если вы ссылаетесь на службу Windows с помощью ключевого слова SERVICE, то Tasklist покажет, какой именно процесс обрабатывается данной службой. Если, например, выполнить приведенную ниже команду, то можно выяснить, какой процесс работает со службой удаленного управления реестром (remote registry):
C:>Tasklist /FI «SERVICES eq RemoteRegistry»
где RemoteRegistry соответствует тому выводимому имени, под которым данная служба визуально отображается в оснастке Services консоли Microsoft Management Console (MMC).
Для выполнения следующего примера нужно запустить две пустые сессии Notepad. Чтобы отобразить эти процессы, выполнив выборку по заголовку окна (window title), требуется ввести следующую команду:
C:>Tasklist /FI «WINDOWTITLE eq untitled — notepad»
В результате программа Tasklist отобразит две копии процесса Notepad, поскольку оба процесса используют один и тот же заголовок окна. Завершение процесса выполняется с помощью утилиты Taskkill, при этом нужно указать процесс, который требуется завершить. Если для выбора процессов, которые нужно завершить, необходимо применить фильтрацию, то в этом случае, как и для утилиты Tasklist, используется ключ /FI. Соответственно, если мы хотим завершить оба запущенных нами ранее процесса Notepad, мы должны выполнить приведенную ниже команду:
C:>Taskkill /FI «WINDOWTITLE eq untitled — notepad»
Если используется ключ /IM, то при указании всех имен образов процессов допускается применение групповых символов (например, символа « * «) (ключ /IM используется для указания имени образа процесса, который должен быть завершен). Нужно иметь в виду, что применение групповых символов допустимо только в том случае, если в команде определен фильтр (т. е. присутствует ключ /FI). Также обратите внимание на то, что фильтры типа WINDOWTITLE и STATUS нельзя задействовать при работе с удаленными системами — они могут работать только в локальном режиме. Завершение удаленного процесса может быть выполнено только принудительно (для этого существует ключ /F). Для обеспечения вывода результатов в различных форматах в утилитах Tasklist и Taskkill поддерживаются различные методы фильтрации. Полный перечень допустимых ключей по каждой из утилит можно получить, запуская данные утилиты с ключом /?.
Определение свободного дискового пространства
Несколько в стороне от традиционных задач управления журналами событий, конфигурационными файлами и процессами лежат другие, более специфические, но не менее актуальные и часто выполняемые задачи, в частности копирование файлов. В этой ситуации вопросы оценки суммарного объема набора копируемых файлов и проверка наличия достаточного объема свободного пространства на том диске, куда будут копироваться или перемещаться данные, играют ключевую роль, особенно в тех случаях, когда предстоит копировать значительные объемы данных. Если у вас нет желания писать соответствующий сценарий WSH, но тем не менее хочется автоматизировать процедуру проверки, можно воспользоваться интерпретатором Cmd.exe в сочетании с двумя утилитами, реализованными в Windows 2003: Forfiles.exe и Freedisk.exe. Пример сценария, решающего подобную задачу, показан в листинге 1. Здесь команда Forfiles, вызываемая в соответствующей строке после метки A, выглядит следующим образом:
Forfiles.exe /S /M *.DAT /C «Cmd /c echo @fsize»
В результате выполнения этой строки сценария на экран будут выведены данные о размерах всех файлов с расширением *.DAT. Ключ /S указывает на необходимость выполнения поиска файлов во всех подкаталогах текущего каталога, а ключ /M говорит о том, что следует искать файлы с расширением *.DAT. С помощью ключа /C задается команда, которая должна выполняться в случае успешного поиска файла. В рассматриваемом случае выполняется обычный вывод данных о размере найденного файла на экран:
«Cmd /c echo @fsize»
Размещение команды запуска утилиты Forfiles внутри оператора For /f (см. метку A), позволяет вычислить суммарный объем всех файлов, имеющих расширение *.DAT. Вызов утилиты Forfiles в операторе For /f заключен в круглые скобки, поэтому выходные данные, полученные в результате работы Forfiles, записываются в переменную среды %%i. С помощью оператора .MakeTotal %%I осуществляется вызов подпрограммы с именем .MakeTotal, использующей в качестве параметра значение переменной %%i. Данная подпрограмма вычисляет общий объем каждого файла, передаваемого в качестве параметра. Затем суммарный объем файлов вычисляется оператором Set /A Total=%Total% + %1 в основной программе. Переменная %1 — это первый параметр, возвращаемый при вызове подпрограммы .MakeTotal, он представляет собой размер файла, обрабатываемого утилитой Forfiles, а его значение во время вызова подпрограммы записывается в переменную %%i. Оператор цикла For /f вызывает подпрограмму для обработки каждого значения размера файла, возвращаемого командой Forfiles.
По окончании цикла, задаваемого оператором For /f, выполнение программы Freedisk завершается. Для того чтобы определить, достаточного ли на диске свободного пространства, Freedisk использует два параметра: необходимый объем диска и объем диска, на который будут копироваться данные. Из листинга 1 видно, что здесь используется общий объем файлов, вычисленный командой Forfiles, и объем диска C:, что определяется ключом /D. В результате работы программы Freedisk будет выведено сообщение, показывающее, достаточно ли на диске свободного места. В командном файле наличие достаточного дискового пространства определяется значением переменной среды %ERRORLEVEL%: если эта переменная равна 0, то необходимое дисковое пространство имеется, если же значение переменной будет равно 1, то это говорит о том, что имеющегося объема на диске для выполнения операции копирования недостаточно.
Обновленные команды
Появившиеся в системах Windows 2003 и XP новые утилиты командной строки вносят некоторую путаницу в существующий набор команд. Например, для замены известной в предыдущих версиях Windows утилиты AT.exe появилась утилита Schtasks.exe (хотя и в Windows 2003, и в Windows XP утилита AT.exe сохранилась, тем не менее Microsoft рекомендует использовать вместо нее Schtasks). Назначение утилит Schtasks и AT состоит в том, чтобы выполнять по расписанию требуемые задачи, используя для этого механизмы системной службы планировщика задач Task Scheduler. Программа Schtasks функционирует подобно AT, но синтаксис и набор параметров командной строки здесь иной. Разумеется, новая утилита может выполнять все то, что делалось с помощью AT.exe, но при этом ее возможности существенно шире. Для того чтобы пользоваться Schtasks, необходимо входить в группу Administrators на том компьютере, который управляется данной командой. Рассмотрим следующий вариант запуска Schtasks:
SCHTASKS /Create /RU Administrator /RP Password1
/SC MINUTE
/ST 09:20 /ET 09:30
/TN «Event Creation»
/TR «C:WINDOWS system32Eventcreate.exe
/S vm75459312b.
LissWare.Net
/L application
/SO ScheduledEventCreation
/T Success
/ID 999
/D ScheduledEventLogCreation»
С помощью ключа /TN создается задание с именем Event Creation. Ключ /SC указывает на то, что это задание будет создаваться ежеминутно (параметр MINUTE), начиная с 09:20 (что определяется ключом /ST) и до 09:30 (в соответствии со значением, указанным в ключе /ET). Ключ /TR определяет, какая команда будет запущена на исполнение, в данном примере это утилита Eventcreate, соответствующие ключи и параметры которой заключены в кавычки. Данная команда запускается в контексте администратора, параметры соответствующей учетной записи задаются ключами /RU и /RP. Аналогичное задание может быть создано и утилитой AT.exe, хотя это не так просто. Чтобы получить более подробные сведения о синтаксисе и допустимых параметрах запуска утилиты Schtasks, следует запустить ее с ключом /?.
Утилита Gpupdate.exe выполняет обновление объектов групповой политики (GPO), подобно тому как это делалось с помощью команды Secedit.exe /Refreshpolicy в Windows 2000. В Windows 2003 и XP утилита Gpupdate.exe заменяет Secedit.exe. Следует отметить, что при выполнении обновления GPO программа Gpupdate может облегчить пользователю жизнь, поскольку для нее не требуются все те параметры командной строки, которые применялись для Secedit.exe. Полный список ключей Gpupdate можно получить, как обычно, с помощью ключа /?.
Вместо существующей утилиты Find.exe в Windows 2003 и XP может использоваться утилита Findstr.exe. Данная команда имеет то же назначение, что и команда Find, обе они выполняют поиск нужной комбинации символов в файлах, размещенных по указанному пути. Однако в Findstr реализованы более широкие возможности поиска и фильтрации, чем те, которыми располагала утилита Find. Программа Findstr может выполнять поиск по указанному списку файлов и допускает использование регулярных выражений для реализации механизмов фильтрации. Регулярное выражение представляет собой текстовую строку специального вида, которая описывает искомую комбинацию символов. Более подробную информацию о регулярных выражениях можно найти по адресу: http://www.regular-expressions.info.
Возьмите команды на вооружение
В данной статье я в общих чертах коснулся тех возможностей утилит командной строки в Windows 2003 и Windows XP, которые могут помочь пользователям сэкономить время и силы. Если требуется более подробная информация по всем программным инструментам и синтаксису командной строки систем Windows 2003 и XP, нужно выполнить команду:
C:>HH.EXE %SystemRoot%HelpNtcmds.chm
Член группы Technology Leadership Group, входящей в состав подразделения HP Consulting and Integration. Автор книг Understanding WMI Scripting и Leveraging WMI Scripting (Digital Press). alain.lissoir@hp.com