Командная строка cmd.exe открывается в странном месте при запуске от имени администратора
Когда я запускаю командную строку в Windows Vista Home Edition (моя текущая версия), она работает хорошо.
Расположение по умолчанию C:/Users/USERNAME отлично подходит для команд без прав администратора.
Тем не менее, эта странная странность произошла сегодня, когда я запустил ее как администратор, местоположение запуска гласило:
(это MySQL, установленный на моем локальном хосте)
Почему, и как я могу восстановить его обратно в C:/Windows/system32 для запуска командных строк с повышенными правами?
Командная строка и её команды
Что такое командная строка?
Командная строка windows — это отдельное ПО, которое входит в состав Операционной Системы и обеспечивает взаимосвязь между пользователем и ОС. С её помощью можно производить команды MS-DOS и других компьютерных команд. Основное преимущество командной строки состоит в том, что она позволяет вводить все команды без участия графического интерфейса, который намного быстрее и имеет массу дополнительных возможностей, которые не могут быть осуществлены в графическом интерфейсе.
Командная строка запускается в своей оболочке и предназначена для более опытных пользователей и помогает в таких сложных ситуациях, когда другие команды уже не работают. Например, через командную строку вводят команды в случае заражения вирусами или «поломки» системных файлов, а так же восстановление windows.
Где находится командная строка?
Основной файл командной строки — консоль cmd.exe переводящий команды пользователя в понятный системе вид, находится в папке с установленной ОС по пути: :WINDOWSsystem32cmd.exe
Как запустить / открыть / вызвать командную строку?
Данные методы запуска командный строки актуальны для всех версий, в том числе и тех, которые я рассматриваю на своем сайте — windows XP , 7 , 8
1) Пуск — Все программы — Стандартные — Командная строка
2) Пуск — Выполнить — вводим cmd.exe
3) сочетание клавиш Win + R — вводим cmd
4) Запуск из системной папки: :WINDOWSsystem32cmd.exe
Для того, чтобы запустить командную строку от имени Администратора, подойдет 1 и 4 способ, нужно на ярлыке щёлкнуть ПКМ и выбрать в меню «Запуск от имени Администратора».
Команды / параметры / ключи командной строки .
Узнать команды командной строки можно прям в ней же, набрав help и нажав клавишу Enter (после окончания ввода всех команд нужно использовать именно Enter (ВВОД) ).
только этот список не совсем полный, в нём отображаются лишь основные наиболее часто используемые команды и параметры.
Ниже, под спойлером, я собрал список команд командной строки (CMD) и их описание.
append — позволяет программам открывать файлы в указанных каталогах так , будто они находятся в текущем каталоге
arp — отображение и изменение таблиц преобразования IP-адресов в физические, используемые протоколом разрешения адресов
at — запуск программ в указанное время
atmsdm — контроль подключений и адресов, зарегистрированных диспетчером вызовов ATM в сетях с асинхронным режимом передачи (ATM).
attrib — изменение атрибутов файлов и папок
auditusr — задаёт политику аудита пользователей
assoc — вывод, либо изменение, сопоставлений по расширениям имён файлов
break — включение режима обработки клавиш CTRL+C
blastcln — утилита очистки от червей
bootcfg — может быть использована для настройки, извлечения, изменения или удаления параматров командной строки в файле Boot.ini
call — вызов одного пакетного файла из другого
cacls — просмотр изменение таблиц управления доступом ACL к файлам
cd — вывод имени, либо изменение текущей папки
chcp — вывод, либо изменение активной кодовой страницы
chdir — вывод, либо смена текущей папки
copy — копирование одного или нескольких файлов
cls — очистка экрана
chkdsk — проверка диска и вывод отчёта
chkntfs — выводит или изменяет параметры проверки диска во время загрузки
ciddaemon — сервис индексации файлов
cipher — программа шифрования файлов
comp — сравнение содержимого двух файлов или наборов файлов
compact — просмотр и изменение параметров сжатия файлов в разделах NTFS
convert — преобразование файловой системы тома FAT в NTFS
date — вывод, либо установка текущей даты
del — удаление одного или нескольких файлов
dir — вывод списка файлов и подпапок из указанной папки
diskcopy — копирование содержимого одного гибкого диска на другой
diskcomp — сравнение содержимого двух гибких дисков
debug — средство отладки и редактирования программ
defrag — дефрагментатор
devcon — это программа с интерфейсом командной строки, которая используется в качестве альтернативы диспетчеру устройств. С ее помощью можно включать, выключать, перезапускать, обновлять, удалять и опрашивать отдельные устройства или группы устройств. Программа DevCon также предоставляет необходимые разработчику драйвера сведения, которые недоступны с помощью диспетчера устройств.
diantz — cссылка на программу makecab.exe.
diskpart — использования сценария diskpart
diskperf — счётчик производительности
doskey — редактирование и повторный вызов команд windows xp , создание макросов driverquery — просмотр списка установленных драйверов устройств и их свойства
edlin — запуск построчного текстового редактора
echo — вывод сообщений и переключение режима отображения команд на экране
endlocal — конец локальных изменений среды для пакетного файла
erase — удаление одного или нескольких файлов
esentutl — maintance utilities for microsoft windows databases
eventcreate — позволяет создать запись об основном событии в журнале событий
eventtriggers — позволяет настроить триггеры событий в локальной или удалённой системе
exe2bin — преобразование exe в двоичный формат
expand — распаковка сжатых файлов
fc — сравнение файлов и вывод различий между ними
for — запуск указанной команды для каждого файла в наборе
format — форматирование диска
ftype — вывод, либо изменение типов файлов
find — поиск текстовой строки в одном или нескольких файлах
findstr — поиск строк в файлах
finger — вывод сведений о пользователях указанной системы, на которой запущена служба
fltmc — работа с драйверами фильтров
fontview — программа просмотра шрифтов
forcedos — запуск заданной программы в подсистеме MS-DOS. Эта команда необходима для тех программ MS-DOS, которые не распознаются системой Microsoft Windows XP.
fsutil — служебная программа командной строки, которая используется для выполнения связанных задач файловых систем FAT и NTFS, таких как управление точками повторной обработки, управление разреженными файлами, отключение тома или расширение тома.
ftp — программа передачи файлов
goto — передача управления в указанную строку пакетного файла
graftabl — позволяет windows отображать расширенный набор символов в графическом режиме
getmac — отображает MAC-адрес одного или нескольких сетевых адаптеров
gpresult — отображает результирующую политику RSoP для указанного компьютера
gpupdate — выполнение обновления групповых политик
if — оператор условного выполнения команд в пакетном файле
ipconfig — информация о IP адресе
ipxroute — программа управления маршрутизацией nwlink ipx
label — создание , изменение и удаление меток тома для диска
lodctr — обновление имен счётчиков и поясняющего текста для расширенного счётчика
logman — управление службой «повешения и журналы производительности»
logoff — завершение сеанса
lpq — отображение состояния очереди удалённой очереди печати lpq
lpr — направляет задание печати на сетевой принтер
lsass — сам не пойму для чего )
md — создание папки
mkdir — создать папку
mode – конфигурирование системных устройств
more — последовательный вывод данных по частям размером в один экран
move — перемещение одного или нескольких файлов из одной папки в другую
makecab — архивирует файлы в cab архив
mem — выводит сведения об используемой и свободной памяти
mofcomp — 32-разрядный компилятор
mountvol — создание, просмотр и удаление точек подключения
mqbkup — утилита архивирования и восстановления очереди сообщений
mqsvc — обеспечивает инфраструктуру для работы распределенных приложений, основанных на асинхронных сообщениях. MSMQ
mrinfo — работа с многоадресными рассылками.
msg — отправка сообщений
nbtstat — отображение статистики протокола и текущих подключений tcp/ip с помощью nbt
net — имеет кучу синтаксисов, узнать можно введя net /?
net1 — то же самое что и net
netsh — тоже много синтаксисов
netstat — отображение статистики протоколов и текущих сетевых подключений TCP/IP
nlsfunc — загрузка сведений о национальных стандартах
odbcconf — настройка драйвера ODBC.
openfiles — вывод списка открытых файлов и папок, которые были открыты в системе
path — вывод, либо установка пути поиска исполняемых файлов
popd — восстановление предыдущего значения текущей папки
prompt — изменение приглашения в командной строке
pushd — сохранения значений текущей активной папки и переход к следующей
pathping — программа пингования и поиска пути.
pentnt — обнаруживает ошибки деления с плавающей точкой процессора Pentium, отключает аппаратную обработку чисел с плавающей точкой и включает эмуляции операций с плавающей точкой.
ping — отправка пакетов на указанный адрес
ping6 — команда проверки связи
powercfg — управление электропитанием системы
print — печать текстового файла
proxycfg — инструмент настройки прокси
qappsrv — отображает доступные серверы терминалов в сети
qprocess — отображает информацию о процессах
qwinsta — отображение информации о сеансах терминалов
rd — удаление папки
rem — помещение ремарки в пакетный файл
ren — переименование файлов и папок
rename — переименовать файл или папку
rmdir — удаление папки
rasdial — интерфейс связи из командной строки для клиента службы удалённого доступа
rcp — обмен файлами с компьютером, на котором выполняется служба rcp
recover — восстановление данных на повреждённом диске
reg — служит для работы с реестром
regsvr32 — сервер регистрации
relog — создаёт новый журнал производительности из уже имеющегося, изменяет интервал сбора данных и ещё что то.
replace — замена файлов
reset — утилита сброса служб терминалов
rexec — выполнение команд на удаленных узлах на которых выполняется служба rexec
route — обработка таблиц сетевых маршрутов
rsh — выполнение команд на удалённых узлах на которых запущена служба rsh
runas — использование приложений от имени другого пользователя
rwinsta — сброс значений подсистем оборудования и программ сеанса в начальное состояние
sc — можно узнать где находиться профиль для работы в домене
set — вывод, установка и удаление переменных среды windows
setlocal — начало локальных изменений среды для пакетного файла
shift — изменение содержимого подставляемых параметров для пакетного файла
start — запуск программы или команды в отдельном окне
schtasks — заменяет AT, только чуть получше
sdbinst — установщик базы данных совместимости
setver — задаёт номер версии, который MS-DOS сообщает программе
sfc — проверка всех запущенных системных файлов и замена неправильных версий
shadow — наблюдение за другим сеансом служб терминалов
shutdown — перезагрузка, выключения компьютера и т.п.
smbinst — процесс, принадлежащий System Management BIOS Driver Installer.
sort — программа сортировки
subst — сопоставление имени диска указанному пути
systeminfo — позволяет получить информацию о конфигурации системы
taskkill — принудительное завершение процессов
tasklist — показывает процессы, выполняемые в данный момент
time — просмотр и изменение текущего времени
title — назначение заголовка текущего окна интерпретатора
tree — графическое отображение структуры заданного диска или папке
type — вывод на экране содержимого текстовых файлов
tcmsetup — установка клиента телефонии
tftp — обмен файлами с удалённым компьютером
tlntadmn — без понятия, так и не разобрался
tracerpt — обрабатывает двоичные файлы журнала отслеживания событий или потоки данных в реальном времени от поставщиков отслеживания событий и создаёт отчёт в текстовом файле, с описанием произошедших событий
tracert — трассировка маршрута к указанному узлу
tracert6 — версия tracert для протокола IPv6
tscon — присоединяет сеанс пользователя к сеансу терминала
tsdiscon — отключение сеанса терминала
tskill — прекращение процесса
tsshutdn — завершение работы сервера в установленном порядке
typeperf — выводит сведения о производительности на экран или в журнал
ver — вывод сведений о версии windows
verify — установка режима проверки правильности записи файлов на диск
vol — вывод метки и серийного номера тома для диска
unlodctr — удаление имен счётчиков и поясняющего текста для расширенного счётчика
userinit — является частью операционных систем Windows, отвечая за процесс загрузки системы
vssadmin — инструмент командной строки теневого копирования тома
w32tm — диагностика службы времени
wbemtest — тест инструментария windows
winver — информация о версии windows
wmic — настройка старта сеанса(для продвинутых пользователей, не советую использовать без должного опыта)
xcopy — копирование файлов и дерева папок
Вдаваться слишком глубоко не буду, потому что для этого лучше писать отдельную статью. Приведу лишь небольшой пример использования командной строки.
Допустим у меня на диске E находится папка 123 , а в ней текстовый файл test.txt .
Вот теперь я хочу сделать этот файл скрытым, не заходя на этот диск и не «видя» этого файла с папкой.
Команда, отвечающая за атрибут «Системный» — это attrib. И у неё существуют свои атрибуты (уже команды). Можете даже посмотреть на скрине выше, я там показывал именно её на примере.
Из всех её атрибутов мне нужны только два — это его установка и сам атрибут. За это отвечают + и s.
Итак, моя команда будет следующей: attrib +s e:/123/test.txt . Вот так будет выглядеть правильный результат:
Ой. Только заметил что вместо Скрытый я сделал его Системным, а ещё удивляюсь почему он не пропал в папке. Я специально не стал удалять скрины и редактировать статью для того, чтобы показать Вам как можно исправить такую оплошность (как я сделал). Тоже хорошая информация.
На заметку:
чтобы не вводить каждый раз предыдущие команды заново, просто нажмите кнопку «Вверх» на клавиатуре.
Ну и напоследок:
Как редактировать текст в окне командной строки?
Дело в том, что стандартные методы с помощью сочетаний клавиш Ctrl+C и Ctrl+V в командной строке не работают.
Тут нужно пользоваться ПКМ — Правой Кнопкой Мыши.
Для того, чтобы вставить текст в командную строку, просто кликаем ПКМ на любом месте командной строки, затем выбираем Вставить.
Для того, чтобы скопировать часть текста из командной строки можно воспользоваться одним из двух методов:
1) ПКМ — Выделить всё
Выделится весь текст, но можете выделить сразу какой Вам угодно, просто как обычно зажав ЛКМ
2) ПКМ — Пометить
Появится мигающий курсор в начале строки, которым можно управлять «стрелочками» на клавиатуре. И при нажатой кнопке shift выделить текст, управляя так же «стрелками» на клавиатуре. Либо выделаем снова с помощью мыши.
при желании, можете изменить настройки командной строки, выбрав пункт в меню выше «Свойства»
Нижняя граница
Теперь вы должны знать, как изменить каталог в командной строке (CMD) с помощью команды CD в Windows 10. Вы можете легко получить доступ к различным каталогам или папкам с помощью команды Windows в командной строке.
Если вы не можете найти файл или папку на своем компьютере с Windows 10, вы можете потерять их или по ошибке удалить, вы можете легко восстановить файл или папку с помощью MiniTool Power Data Recovery .
MiniTool Power Data Recovery — профессиональная бесплатная программа для восстановления данных, совместимая с Windows 10/8/7. Вы можете использовать это программное обеспечение, чтобы легко восстанавливать данные в различных ситуациях потери данных.
А именно, вы можете восстановить любые удаленные / потерянные файлы с компьютера Windows 10/8/7, внешнего жесткого диска, USB / большого пальца / ручка , SD-карта и многое другое.
В случае потери данных из-за ошибочного удаления файлов, сбоя системы и других проблем компьютерной системы, сбоя жесткого диска, заражения вредоносными программами / вирусами и т. Д. Вы можете легко использовать MiniTool Power Data Recovery. восстановить потерянные файлы и данные .
Настройка командной строки.
Стандартное окно командной строки – это окно с символами белого цвета на черном фоне. Параметры шрифтов, цвет и фон символов, использование буфера обмена и прочие свойства командной строки можно изменить в соответствии со своими предпочтениями. Настройки можно выполнить изменяя свойства ярлыка, с помощью которого выполняется запуск приложения командной строки, либо правкой параметров реестра, относящихся к командному процессору.
Работа в командной строке предполагает ввод данных с клавиатуры, при чем, иногда довольно большого объема. Этот объем можно значительно сократить, используя некоторые приемы:
Использование буфера обмена.
Текст, выделенный в окне приложения, можно скопировать в буфер обмена, а также вставить его из буфера обмена в поле ввода. При стандартных настройках командной строки для выделения текста используется пункт ”Пометить” контекстного меню, вызываемого правой кнопкой мышки. При желании, в свойствах ярлыка, с помощью которого выполняется запуск можно включить режим выделения мышью:
В режиме выделения мышью, контекстное меню не используется, а текст выделяется с использованием левой кнопки мышки. Копирование и вставка выполняется при нажатии правой кнопки мышки. При включенном режиме ”Разрешить сочетания клавиш с CONTROL”, можно использовать стандартные сочетания клавиш:
— CTRL+C (CTRL+Insert) – скопировать выделенный текст.
— CTRL+V (Shift+Insert) – вставить выделенный текст.
Использование истории команд и горячих клавиш.
Для вызова ранее введенных команд используются клавиши со стрелками Стрелка Вверх — на одну команду назад и Стрелка Вниз — на одну команду вперед. Кроме того, можно использовать функциональные клавиши:
F1 — посимвольный вызов последней введенной команды. Каждое нажатие F1 приводит к последовательной подстановке в поле ввода одного символа из предыдущей команды.
F2 — копирование до символа. После нажатия на F2 на экране отображается запрос символа, до которого будет скопирована предыдущая команда. Например, если предыдущая команда была ping yandex.ru , и в качестве символа задана точка, то в строку ввода команды будет занесено ping yandex , если задан пробел, то — ping .
F3 — вызов предыдущей команды.
F4 — удалить до символа. Выполняется удаление текста от текущей позиции курсора до заданного символа.
F5 и F8 — вызов буфера ранее введенных команд. Вывод по нажатию клавиши F5 прекращается когда будет отображена первая введенная команда текущей сессии.
F7 — отображение ранее введенных команд в отдельном окне в виде списка. Для выполнения нужной команды нужно выбрать ее, используя клавиши со стрелками, и нажать ENTER
F9 — выполнить команду, номер которой запрашивается. Номер команды в списке истории можно получить при использовании F7 .
В Windows 10 / Windows Server 2016 появились возможности, отсутствующие в предыдущих реализациях командной строки:
— Изменение прозрачности окна консоли при нажатии комбинаций CTRL + Shift + — или CTRL + Shift + + .
— Включение / выключение полноэкранного режима при нажатии CTRL+Enter .
— Расширение возможностей выделения текста и редактирования:
Shift+Home – выделить текст от текущего положения курсора до начала строки.
Shift+End – выделить текст от текущего положения курсора до конца строки.
— Быстрое перемещение по буферу экрана и поиск по контексту:
CTRL+Home – перейти в начало буфера экрана
CTRL+End – перейти в конец буфера экрана.
CTRL+Стрелка Вверх — перемещение на 1 строку вверх.
CTRL+Стрелка Вниз — перемещение на 1 строку вниз.
CTRL+F — открыть диалог поиска текста в буфере экрана.
Окно командной строки в Windows 10 можно закрыть с помощию стандартной комбинации клавиш — ALT+F4 .
Для отключения новых возможностей CMD, необходимо в свойствах приложения установить галочку ”Использовать прежнюю версию консоли (требуется перезапуск)”
Автодополнение путей файлов
В командной строке Windows можно выполнять подстановку имен файлов и каталогов при нажатии клавиши Tab . Например, для перехода, в каталог с длинным именем Program Files наберите начальную часть имени каталога
CD Pro и нажмите Tab. В строке ввода должна появиться команда :
CD «Program Files»
Как видим, выполняется подстановка недостающей части имени каталога, а в тех случаях, когда в нем имеется символ пробела, добавляются еще и двойные кавычки.
Если имеется несколько совпадающих начальных частей имен файлов или каталогов, при каждом нажатии клавиши Tab будет подставляться следующее по алфавитному порядку имя. Для возврата на предыдущее — используется комбинация Shift+Tab
Перенаправление данных стандартного ввода /вывода консоли.
Как уже упоминалось, в качестве стандартного устройства ввода командной строки используется клавиатура, а в качестве устройства вывода – дисплей. Однако, существует возможность перенаправления ввода-вывода на другие устройства c использованием операторов перенаправления:
ping –n 5 localhost > nul — выполнить пинг петлевого интерфейса 5 раз с перенаправлением вывода в фиктивное устройство nul . Вывод результатов выполнения команды подавляется. Подобный прием используется для организации задержки в командных файлах, поскольку пинг петлевого интерфейса выполняется почти мгновенно, а интервал между пингами равен одной секунде, время выполнения данной команды определяется значением параметра -n
ping –n 100 yandex.ru > C:ping-ya.txt — выполнить 100 раз пинг узла yandex.ru c записью результатов выполнения команды в файл C:ping-ya.txt. Если файл не существует, он будет создан, а если существует, его содержимое будет затерто.
ping –n 100 yandex.ru >> C:ping-ya.txt — то же, что и в предыдущем примере, но, если файл не существует, то он будет создан, а если существует, то запись результатов будет выполняться в конец файла.
cmd — запустить командный процессор CMD и выполнить ввод данных из файла 1.txt. Если в файле поместить строку ping –n 100 yandex.ru , то выполнится команда, рассмотренная выше.
Нередко, вывод одной команды нужно передать в качестве вводимых данных для другой, т.е. объединить команды в последовательную цепочку:
ping -n 100 microsoft.com | find «Превышен интервал» — результат выполнения команды ping -n 100 microsoft.com передается в виде входных данных для команды поиска строк ( find ), содержащих текст «Превышен интервал».
ping -n 100 microsoft.com | find «Превышен интервал» > C:ping-ya.txt — то же, что и в предыдущем примере, но с перенаправлением выводимых результатов выполнения команды в текстовый файл.
Каждому открытому файлу или устройству соответствует свой дескриптор ( handle ) который представляет собой неотрицательное число, значение которого используется породившим поток ввода-вывода процессом. По умолчанию, для всех процессов, в том числе и для командного интерпретатора cmd.exe :
0 ( STDIN ) – дескриптор стандартного ввода (ввод с клавиатуры).
1 (STDOUT) – дескриптор стандартного вывода (вывод на экран).
2 (STDERR) – дескриптор вывода диагностических сообщений (сообщений об ошибках на экран).
Дескрипторы можно использовать в тех случаях, когда требуется перенаправить (изменить) источники и приемники данных в стандартных потоках ввода-вывода. Например:
ping.exe –n 100 yandex.ru 2> C:pinglog.txt — стандартный поток сообщений программы ping.exe будет выводиться на экран, а ошибки ( стандартный вывод с дескриптором = 2 ) будут записаны в файл C:pinglog.txt . В реальном случае для программы ping.exe приведенная конструкция значения не имеет, поскольку она выводит и диагностику, и результаты на экран.
Для задания перенаправления в существующие дескрипторы используется амперсанд (&), затем номер требуемого дескриптора (например, &1):
ping –n 100 yandex.ru >log.txt 2>&1 — стандартный поток сообщений об ошибках (дескриптор=2) перенаправляется в стандартный поток вывода (дескриптор = 1) и все это перенаправляется в файл log.txt текущего каталога.
ping –n 100 yandex.ru >log.txt 1>&2 — стандартный вывод (дескриптор = 1) перенаправляется в вывод сообщений об ошибках (дескриптор=2) и все это записывается в текстовый файл.
Если дескриптор не определен, то по умолчанию оператором перенаправления ввода будет ноль (0), а оператором перенаправления вывода > будет единица.
Объединение нескольких команд в цепочку
В командной строке Windows существует возможность последовательного выполнения нескольких команд в зависимости от результатов их выполнения. Для чего используются символы объединения команд — & (амперсанд) и | (вертикальная черта)
& — одиночный амперсанд используется для разделения нескольких команд в одной командной строке. Например:
echo ping ya.ru — вывод на экран строки ping ya.ru
echo &ping ya.ru — последовательное выполнение команды echo без параметров и команды ping ya.ru
&& — условное выполнение второй команды. Она будет выполнена, если код завершения (значение которого передается в стандартную переменную ERRORLEVEL) первой команды равен нулю, т.е. команда выполнена успешно.
команда1 && команда2 — выполняется команда1 , а команда2 выполняется, только если первая была выполнена успешно. Например:
ping ya.ru -err & ping –n 2 ya.ru — при использовании единичного амперсанда, первая команда ping ya.ru –err выдаст сообщение о неверном параметре -err , а вторая, ping –n 2 ya.ru выполнит двукратный пинг узла ya.ru
ping ya.ru -err && ping –n 2 ya.ru — при использовании двойного амперсанда, первая команда ping ya.ru –err выдаст сообщение о неверном параметре -err и соответственно, сформирует код завершения не равный нулю (ошибка), что приведет к тому, что вторая команда ( ping ya.ru -n 2 ) выполнена не будет.
Двойная вертикальная черта || — условное выполнение второй команды. Если первая команда завершилась с кодом возврата не равным нулю (неуспешно), то выполняется команда, следующая за двойной вертикальной чертой.
команда1 || команда2 — если команда1 выполнена неуспешно, то запускается на выполнение команда2
ping –n 1 ya.ru && ping –n2 ya.ru || ping –n 3 ya.ru — сначала выполнится 1-я команда ping ya.ru –n 1 — однократный пинг узла ya.ru , затем выполнится команда ping ya.ru -n 2 — двукратный пинг узла ya.ru . Третья команда ping ya.ru -n 3 , трехкратный пинг узла ya.ru выполнена не будет.
ping –n 1 –err ya.ru && ping ya.ru -n 2 || ping ya.ru -n 3 — первая команда ping ya.ru –n 1 –err выполнится с ошибкой из-за неверного параметра -err , вторая команда ping –n 2 ya.ru — двукратный пинг узла ya.ru не будет выполнена из-за условия двойного амперсанда, и в результате выполнится третья команда ping –n 3 ya.ru , трехкратный пинг узла ya.ru .
В некоторых случаях может возникнуть необходимость запрета обработки служебных символов и трактовки их в качестве простого текста. Например, если ввести в командной строке
ECHO ping -n 1 ya.ru & ping -n 2 ya.ru
то вместо текста ping -n 1 ya.ru & ping -n 2 ya.ru будет выведена его часть до символа амперсанда ping -n 1 ya.ru и затем выполнена команда после амперсанда — ping -n 2 ya.ru . Проблему решает использование специального экранирующего символа ^ , который позволяет использовать служебные символы как текст:
ECHO ping -n 1 ya.ru ^& ping -n 2 ya.ru — вывод на экран текста ping -n 1 ya.ru & ping -n 2 ya.ru
Логика условной обработки команд, реализуемая с помощью конструкций && и || действует только на ближайшую команду, то есть, при вводе команды
TYPE C:plan.txt && DIR & COPY /?
команда COPY /? запустится в любом случае, независимо от результата выполнения команды TYPE C:plan.txt . Но, несколько команд можно сгруппировать с помощью скобок. Например, есть 2 командные строки:
TYPE C:plan.txt && DIR & COPY /?
TYPE C:plan.txt && (DIR & COPY /?)
В первой из них символ условной обработки && действует только на команду DIR, во второй — одновременно на две команды: DIR и COPY. В качестве наглядного эксперимента, попробуйте выполнить вторую команду при условиях наличия и отсутствия файла C:plan.txt . Для создания пустого файла можно воспользоваться копированием из фиктивного устройства nul :
copy nul C:plan.txt
Для удаления файла используется команда erase c:plan.txt или del C:plan.txt
Командные файлы
Командные файлы (сценарии, скрипты) – это обычные текстовые файлы с заранее подготовленным набором команд для их выполнения командным процессором cmd.exe . Стандартно, такие файлы имеют расширение .bat или .cmd . Строки командных файлов могут содержать специфические команды самого процессора команд, например — FOR, ECHO, REM и т.п. или имена исполняемых модулей – reg.exe, sc.exe, auditpol.exe., которые можно использовать без расширения – reg, sc, auditpol. Пример простого командного файла:
REM Создается текстовый файл со списком каталога Windows
dir C:Windows > %TEMP%winlist.txt
REM выполняется задержка на 5 секунд
ping -n 5 localhost > nul
REM Файл открывается в редакторе WordPad
write %TEMP%winlist.txt
REM После завершения работы Wordpad, текстовый файл удаляется.
erase C:winlist.txt
Строки, начинающиеся с REM являются комментариями. В качестве примера, используются команды для работы с файловой системой и выполняется запуск приложения графической среды – текстового редактора Wordpad (write.exe) с передачей ему параметра командной строки (имя файла). Язык командных файлов довольно примитивен и не в полной мере соответствует требованиям сегодняшнего дня, однако, он является самым простым средством автоматизации рутинных действий и используется большинством системных администраторов и грамотных пользователей. Работа с командными файлами – это отдельная тема, более подробно изложенная на странице Командные файлы
Прочие материалы для освоения работы в командной строке Windows:
Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой «Поделиться»