Как добавить свою команду (программу-обработчик) в число команд, выполняемых «cmd.exe»?
Но как добавить Blender в консоль как внутреннюю команду по типу как: dir, findstr, tasklist и др.встроенные приложения
.
Расскажем Windows где живет blender, напечатав в консоли
path = %PATH%;»C:\Program Files\Blender Foundation\Blender»
но он не работает
Т.к как же добавить внутреннюю команду??
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Подсчет количества выполняемых файлов (exe, cmd, bat) в каталоге
Помогите пожалуйста выполнить задание! Необходимо создать командный файл, выполняющий подсчет.
Как добавить каждому чекбоксу свою команду?
Как вписать команду в код, чтобы при нажатии кнопки "Применить" выполнялась команда для выбранного.
Cmd.exe, как получить ответ консоли на команду?
программа выполняет консольную команду через Process x = Runtime.getRuntime().exec("команда"); как.
Как добавить свою команду в контекстное меню рабочего стола?
Здравствуйте! Извините за не которые ошибки в теме, я просто не знаю как это правильно называется.
17980 / 7682 / 891
Регистрация: 25.12.2011
Сообщений: 11,459
Записей в блоге: 17
Сообщение было отмечено vavun как решение
Решение
Eskander88, уберите кавычки. Это тот случай, где они не нужны.
А дальше действуйте по этой инструкции: Как добавить путь в переменную Path ?
Регистрация: 02.11.2015
Сообщений: 222
Спасибо! Ссылки помогли!
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Передача команд в cmd.exe
Добрый вечер, участники форума! Столкнулся с такой проблемой. Существует библиотека MALLET.
Поочерёдный ввод команд в cmd.exe
Не могли бы вы подсказать как программно можно сделать поочерёдный ввод команд в одну и ту же cmd.
Запуск консольных команд cmd.exe
Здравствуйте. Имеется несколько .bat файлов, которыми я иногда пользуюсь. Хочется запихнуть их в.
Работа с cmd.exe — отправка и прием команд
На сайте королевства есть пример работы с cmd.exe — отправки и прием команд вот так там.
Получить путь до .exe и выполнить cmd команду
Нужный мне .ехе лежит по D:\MyGames\Warface\Bin64Release\Game.exe Ну у всех разные пути путь до.
Командная строка разработчика и PowerShell для разработчиков в Visual Studio
Область применения:Visual Studio Visual Studio для Mac Visual Studio Code
Visual Studio включает две оболочки командной строки для разработчиков, командную строку и экземпляр PowerShell, как показано ниже.
- Командная строка разработчика для Visual Studio — стандартная командная строка с определенными переменными среды, упрощающая работу с инструментами разработки. Доступно с версии Visual Studio 2015.
Начиная с Visual Studio 2019 Visual Studio включает интегрированный терминал , который может размещать любую из этих оболочк (командная строка разработчика и PowerShell разработчика). Можно открыть несколько вкладок для каждой оболочки. Терминал Visual Studio построен на основе Терминала Windows. Чтобы открыть терминал в Visual Studio, выберите элементы Вид>Терминал.
На этой странице описывается, как использовать оболочки командной строки в Visual Studio. Если вы ищете эквивалент в Visual Studio Code , также известном как VS Code, см. раздел «Интерфейс командной строки» и «Основы терминала».
При запуске в Visual Studio одной из оболочек как отдельного приложения или в окне терминала открывается каталог текущего решения (если оно загружено). Это упрощает выполнение команд для решения или его проектов.
В обеих оболочках заданы определенные переменные среды. Это упрощает работу с инструментами командной строки. Открыв эти оболочки, можно выполнять команды для различных служебных программ, не указывая их расположения.
Популярные команды | Description |
---|---|
MSBuild | Сборка проекта или решения |
clrver | Инструмент .NET Framework для CLR |
ildasm | Инструменты .NET Framework для дизассемблера |
dotnet | Команда CLI .NET |
dotnet run | Команда CLI .NET |
CL | Средство компиляции C/C++ |
NMAKE | Средство компиляции C/C++ |
LIB | Средство сборки С/C++ |
DUMPBIN | Средство сборки С/C++ |
Запуск в Visual Studio
Выполните следующие действия, чтобы открыть в Visual Studio Командную строку разработчика или PowerShell для разработчиков:
- Откройте Visual Studio.
- В строке меню выберите элементы Инструменты>Командная строка>Командная строка разработчика или PowerShell для разработчиков.
Запуск из меню Windows
Другой способ запуска оболочек — из меню «Пуск». В зависимости от версии Visual Studio, дополнительно установленных пакетов SDK и рабочих нагрузок может иметься несколько вариантов командных строк.
Windows 11
- Нажмите кнопку «Пуск «, а затем в диалоговом окне «Тип» для поиска введите developer command prompt или . developer powershell
- Выберите для приложения результат, связанный с текстом поиска.
Windows 10
- Нажмите кнопку «Пуск«, а затем прокрутите до буквы V.
- Разверните папку Visual Studio 2019 или Visual Studio 2022.
- Если вы используете Visual Studio 2019, выберите Командная строка разработчика для VS 2019 или PowerShell для разработчиков для VS 2019. Если используется Visual Studio 2022, выберите Командная строка разработчика для VS 2022 или PowerShell для разработчиков для VS 2022. Кроме того, вы можете начать вводить имя оболочки в поле поиска на панели задач и выбрать нужный результат, так как в списке результатов начнут отображаться найденные совпадения.
Windows 8.1
- Перейдите на начальный экран, нажав клавишу с логотипом Windows на клавиатуре, например.
- На начальном экране нажмите клавиши CTRL+TAB, чтобы открыть список приложений, а затем нажмите клавишу V. Откроется список, содержащий все установленные командные строки Visual Studio.
- Если вы используете Visual Studio 2019, выберите Командная строка разработчика для VS 2019 или PowerShell для разработчиков для VS 2019. Если используется Visual Studio 2022, выберите Командная строка разработчика для VS 2022 или PowerShell для разработчиков для VS 2022.
Windows 7
- Выберите Пуск а затем разверните Все программы.
- Выберите элементы Visual Studio 2019>Инструменты Visual Studio>Командная строка разработчика для VS 2019 или PowerShell для разработчиков для VS 2019. (Если вы используете Visual Studio 2022, найдите те же элементы, которые содержат «2022» вместо «2019».)
Если установлены другие пакеты SDK, такие как пакет SDK для Windows или предыдущие версии, могут появить дополнительные командные строки. Требуемая версия командной строки указана в документации по соответствующим инструментам.
Запуск из обозревателя файлов
Обычно ярлыки для установленных оболочек помещаются в папку меню «Пуск» для Visual Studio, например в %ProgramData%\Microsoft\Windows\Start Menu\Programs\Visual Studio 2019\Visual Studio Tools. Но если поиск командной строки не дает ожидаемых результатов, попробуйте вручную найти нужные файлы на компьютере.
Командная строка разработчика
Найдите имя файла командной строки, который является VsDevCmd.bat, или перейдите в папку «Сервис» для Visual Studio, например %ProgramFiles%\Microsoft Visual Studio\2022\Community\Common7\Tools (путь изменяется в соответствии с версией Visual Studio, выпуском и расположением установки).
Когда вы найдете файл командной строки, откройте его. Для этого введите следующую команду в стандартном окне командной строки:
"%ProgramFiles%\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat"
Кроме того, вы можете ввести следующую команду в диалоговом окне Windows Выполнить:
%comspec% /k "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat"
"%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat"
Кроме того, вы можете ввести следующую команду в диалоговом окне Windows Выполнить:
%comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat"
Обязательно измените путь, чтобы соответствовать используемой версии или выпуску Visual Studio.
PowerShell для разработчиков
Найдите файл скрипта PowerShell с именем Launch-VsDevShell.ps1 или перейдите в папку «Инструменты» Visual Studio (%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\Tools). (Путь изменяется в соответствии с версией Visual Studio, выпуском и расположением установки.) Разместив файл PowerShell, запустите его, введя следующую команду в командной строке Windows PowerShell или PowerShell 6.
Для Visual Studio 2019:
& 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\Launch-VsDevShell.ps1'
Для Visual Studio 2022:
& 'C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\Launch-VsDevShell.ps1'
По умолчанию PowerShell для разработчиков запускается с конфигурацией для той версии Visual Studio, путь установки к которой указан в файле Launch-VsDevShell.ps1.
Сценарий Launch-VsDevShell.ps1 работает путем поиска Microsoft.VisualStudio.DevShell.dll модуля PowerShell в пути установки Visual Studio, его загрузки и вызова командлета Enter-VsDevShell . Установленные сочетания клавиш, например в меню , загружают модуль и вызывают командлет напрямую. Использование Launch-VsDevShell.ps1 — это рекомендуемый способ инициализации PowerShell для разработчиков в интерактивном режиме или автоматизации сборки скрипта.
Аргументы командной строки
Можно использовать аргументы командной строки для любой из оболочек, «Командная строка разработчика» или «PowerShell для разработчика».
Целевая архитектура и архитектура узла
Для средств сборки (таких как компилятор C++), которые создают выходные данные, предназначенные для конкретных архитектур ЦП, оболочки разработки можно настроить с помощью определенного аргумента командной строки. Архитектуру двоичных файлов средства сборки также можно настроить с помощью аргументов командной строки. Это полезно, если архитектура компьютера сборки отличается от целевой архитектуры.
Начиная с Visual Studio 2022, для msbuild по умолчанию будет использоваться 64-разрядный двоичный файл msbuild.exe, независимо от архитектуры узла.
Shell | Аргумент |
---|---|
Командная строка разработчика | -arch= |
Командная строка разработчика | -host_arch= |
PowerShell для разработчиков | -Arch |
PowerShell для разработчиков | -HostArch |
Аргументы -Arch и -HostArch в PowerShell для разработчика доступны только начиная с версии Visual Studio 2022 с обновлением 17.1.
Ниже приведена таблица со списком поддерживаемых архитектур. В нем также указано, можно ли их использовать для аргументов целевой архитектуры или архитектуры узла.
Архитектура | Целевая архитектура | Архитектура узла |
---|---|---|
x86 | По умолчанию | По умолчанию |
amd64 | Да | Да |
arm | Да | No |
arm64 | Да | No |
Если задана только целевая архитектура, оболочки будут пытаться сопоставить с ней архитектуру узла. Поэтому, если настроена только целевая архитектура со значением, не поддерживаемым для архитектуры узла, могут возникнуть ошибки.
Примеры
Запустите Командную строку разработчика для Visual Studio 2019 Community Edition на 64-разрядном компьютере, создав выходные данные сборки, предназначенные для 64-разрядной архитектуры:
"%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat" -arch=amd64
Запустите Командную строку разработчика для Visual Studio 2019 Community Edition на 64-разрядном компьютере, создав выходные данные сборки, предназначенные для ARM:
"%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat" -arch=arm -host_arch=amd64
Запустите PowerShell для разработчиков для версии Community Edition Visual Studio 2022 17.1 или более поздней версии на 64-разрядном компьютере, создав выходные данные сборки, предназначенные для arm64:
& 'C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\Launch-VsDevShell.ps1' -Arch arm64 -HostArch amd64
SkipAutomaticLocation
Начальный каталог оболочки PowerShell для разработчика — это расположение проекта Visual Studio. Этот язык по умолчанию переопределяет все остальные пути, например к рабочему каталогу. Такое поведение можно отключить с помощью аргумента командной строки -SkipAutomaticLocation . Это полезно, если, например, вы хотите, чтобы в оболочке использовался текущий каталог после инициализации.
Расположение проекта можно настроить в меню Средства>Параметры>Проекты &и решения>Расположение проекта.
Аргументы -Arch командной строки и -SkipAutomaticLocation поддерживаются как скриптом Launch-VsDevShell.ps1 , -HostArch так и командлетом Enter-VsDevShell .
См. также
- Терминал Windows
- Инструменты .NET Framework
- Использование набора инструментов C++ Microsoft из командной строки
Работа с командной строкой ( CMD ) Windows
Командная строка представляет собой программное средство ввода команд пользователем и получения результатов их выполнения на экране. В современных операционных системах семейства Windows, командную строку обеспечивает стандартное приложение cmd.exe , так же называемое командным процессором, интерпретатором команд и консолью. Приложение ”Командная строка” предоставляет пользователю текстовый интерфейс для ввода команд и получения результатов их выполнения. Фактически, командная строка является программным эмулятором классической консоли первых компьютерных систем, представляющей собой терминал с клавиатурой, используемый оператором в качестве средства общения с компьютером. Как и во времена первых компьютеров, командная строка поддерживает стандартное устройство ввода – клавиатуру, и стандартное устройство вывода – дисплей. Пользователь вводит команды с клавиатуры и получает результаты их выполнения на экране дисплея.
Запуск командной строки.
Для запуска командной строки можно воспользоваться одним из следующих способов:
Пуск — Выполнить (или клавиши Win+R) введите cmd и нажмите клавишу Enter;
Пуск — Все программы — Стандартные — Командная строка»;
Пуск — Поиск — Командная строка. Также, для запуска командной строки можно использовать заранее подготовленный ярлык, ссылающийся на исполняемый файл %SystemRoot%\system32\cmd.exe ( обычно – C:\Windows\system32\cmd.exe). Выполнение некоторых команд требует повышенных привилегий, поэтому, приложение командной строки должно быть запущено с использованием пункта контекстного меню ”Запуск от имени администратора”, вызываемого правой кнопкой мышки.
Настройка командной строки.
Стандартное окно командной строки – это окно с символами белого цвета на черном фоне. Параметры шрифтов, цвет и фон символов, использование буфера обмена и прочие свойства командной строки можно изменить в соответствии со своими предпочтениями. Настройки можно выполнить изменяя свойства ярлыка, с помощью которого выполняется запуск приложения командной строки, либо правкой параметров реестра, относящихся к командному процессору.
Работа в командной строке предполагает ввод данных с клавиатуры, при чем, иногда довольно большого объема. Этот объем можно значительно сократить, используя некоторые приемы:
Использование буфера обмена.
Текст, выделенный в окне приложения, можно скопировать в буфер обмена, а также вставить его из буфера обмена в поле ввода. При стандартных настройках командной строки для выделения текста используется пункт ”Пометить” контекстного меню, вызываемого правой кнопкой мышки. При желании, в свойствах ярлыка, с помощью которого выполняется запуск можно включить режим выделения мышью:
В режиме выделения мышью, контекстное меню не используется, а текст выделяется с использованием левой кнопки мышки. Копирование и вставка выполняется при нажатии правой кнопки мышки. При включенном режиме ”Разрешить сочетания клавиш с 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:
Знакомство с командной строкой
Для тех, кто проходит руководство дома: о материале этой главы рассказывает видео Ваш новый друг — командная строка.
Вот это да! Всего через несколько минут ты напишешь свою первую строку кода! 🙂
Позволь представить нашего первого нового друга: командную строку!
Следующие шаги покажут, как использовать чёрное окно, которым пользуются все хакеры. В начале оно может показаться немного пугающим, но, на самом деле это просто окно, которое ждет от тебя команды.
Примечание Пожалуйста, обрати внимание, что в этом руководстве мы используем термины «каталог» и «папка» взаимозаменяемо: эти слова обозначают одно и то же.
Что такое командная строка?
Окно, которое обычно называют командной строкой или интерфейсом командной строки (англ. CLI, Command Line Interface), является текстовым приложением для просмотра, обработки и манипулирования файлами на вашем компьютере. Она делает то же, что и Проводник в Windows или Finder в Mac OS X, но у неё нет графического интерфейса. Другими названиями для командной строки являются: cmd, CLI, prompt, консоль или терминал.
Открываем интерфейс командной строки
Для того, чтобы начать экспериментировать, нам нужно сначала открыть интерфейс командной строки.
Windows
В зависимости от твоей версии Windows и того, какая у тебя клавиатура, одно из следующих действий откроет окно командной строки (возможно, придётся немного поэкспериментировать, но все варианты пробовать необязательно):
- Перейди в меню Пуск (или на экран Пуск), в строке поиска набери «Командная строка».
- Перейди в меню Пуск → Windows → Командная строка.
- Перейди в меню Пуск → Все программы → Служебные → Командная строка.
- Перейди на экран Пуск, наведи мышь на нижний левый угол экрана и нажми на стрелочку вниз, которая появится там. (Если у тебя тачскрин, листни пальцем снизу вверх.) Откроется страница «Приложения». Выбери пункт «Командная строка» в разделе «Windows».
- Удерживая клавишу Windows на клавиатуре, нажми X. В появившемся меню выбери пункт «Командная строка».
- Удерживая клавишу Windows, нажми R, чтобы появилось окно «Выполнить». Набери в строке cmd и нажми OK.
В какой-то момент тебе понадобятся два окна командной строки одновременно. Однако в некоторых версиях Windows, если ты попытаешься запустить вторую командную строку, когда одна уже запущена тем же способом, ты вместо этого попадёшь в уже открытое окно командной строки. Попробуй у себя на компьютере и посмотри, что будет! Если у тебя получается открыть только одно окно командной строки, попробуй какой-нибудь другой из вышеприведённых способов в списке. По крайней мере один из них сможет открыть новое окно командной строки.
Перейди в Приложения → Прочие → Терминал.
Вероятно, командная строка скрывается по адресу: Приложения → Стандартные → Терминал или Приложения → Система → Терминал, но это может зависеть от конкретной системы. Если не сможешь найти — Google поможет 🙂
Командная строка
Перед тобой должно появиться белое или чёрное окошко. Оно ожидает, когда ты введёшь команду.
OS X и Linux
Если у тебя Mac или Linux, ты, скорее всего, увидишь знак $ в конце строки (перед курсором):
Windows
Если у тебя Windows, строка будет оканчиваться символом > , вот так:
Можешь заглянуть в инструкцию для пользовательниц Linux чуть выше — нам что-то подобное ещё встретится, когда мы дойдём до PythonAnywhere.
Перед каждой твоей командой будет стоять знак $ или > и пробел. Но тебе не нужно их печатать! Компьютер уже сделал это за тебя. 🙂
Небольшое примечание: перед курсором командной строки может быть написано что-то вроде C:\Users\ola> или Olas-MacBook-Air:~ ola$ . Это абсолютно нормально.
То, что написано до знака $ или > , плюс сам знак, всё вместе называется приглашением командной строки. Как правило, оно включает адрес папки, в которой ты сейчас находишься. Оно приглашает тебя ввести в окно команду.
Далее в руководстве перед каждой командой, которую тебе нужно будет ввести, мы будем писать символ $ или > . Иногда слева от него мы будем добавлять ещё немного текста. Не обращай внимания на левую часть и просто печатай команду — она начинается после специального символа.
Твоя первая команда (УРА!)
Давай введём следующую команду:
OS X и Linux
$ whoami
Windows
> whoami
Теперь нажми Enter . Вот что получилось:
$ whoami olasitarska
Как видишь, компьютер только что вывел на экран твоё имя пользователя. Классно, а? 🙂
Постарайся набирать каждую команду вручную, а не копировать и вставлять. Так ты больше запомнишь!
Основы
В каждой операционной системе набор команд для командной строки немного отличается, поэтому не забывай следовать инструкциям для своей операционной системы. Давай попробуем, готова?
Текущий каталог
Было бы неплохо знать, где мы находимся сейчас, верно? Давай посмотрим. Набери эту команду и нажми Enter :
OS X и Linux
$ pwd /Users/olasitarska
Примечание: ‘pwd’ означает ‘print working directory’ (вывести рабочий каталог).
Windows
> cd C:\Users\olasitarska
Примечание: ‘cd’ означает ‘change directory'(сменить каталог). Если ты пользуешься PowerShell, можешь ввести pwd — как на Linux или Mac OS X.
Ты, вероятно, увидишь нечто похожее на своем компьютере. Когда ты открываешь командную строку, то обычно находишься в домашнем каталоге текущего пользователя.
Как узнать больше о командах
У многих команд для командной строки есть встроенная справка! Например, вот как узнать подробнее о команде, которая показывает, в какой папке ты сейчас находишься:
OS X и Linux
В OS X и Linux есть команда man — справка о других командах (на английском языке). Набери man pwd и посмотри, что пишут о команде pwd . Используй man с другими командами, чтобы посмотреть для них справку. Как правило, справки man выводятся постранично. Нажми пробел, чтобы перейти на следующую страницу. Чтобы выйти, нажми q .
Windows
Чтобы вывести справку, почти к любой команде можно добавить /? . Чтобы прочитать всю справку, возможно, придётся прокрутить текст вниз. Попробуй набрать cd /? .
Список файлов и каталогов
Так что же в нем? Было бы здорово узнать. Давай посмотрим:
OS X и Linux
$ ls Applications Desktop Downloads Music .
Windows
> dir Directory of C:\Users\olasitarska 05/08/2014 07:28 PM Applications 05/08/2014 07:28 PM Desktop 05/08/2014 07:28 PM Downloads 05/08/2014 07:28 PM Music .
Примечание: в PowerShell можешь использовать ‘ls’ — как в Linux или Mac OS X.
Смена текущего каталога
Теперь вернёмся в наш каталог рабочего стола:
$ cd Desktop
$ cd Desktop
Обрати внимание, что название каталога «Desktop» может быть переведено на язык твоей учётной записи в системе Linux. В таком случае набери вместо Desktop переводное название: например, Рабочий стол (в кавычках — они нужны, чтобы командная строка поняла кириллицу).
Windows
> cd Desktop
Проверь, что рабочий каталог действительно изменился:
OS X и Linux
$ pwd /Users/olasitarska/Desktop
Windows
> cd C:\Users\olasitarska\Desktop
Совет от профи: если ты введешь cd D и затем нажмешь tab на клавиатуре, в командной строке будет автоматически набрана остальная часть имени, что позволит быстрее перемещаться по каталогам. Если c «D», начинается название не одной папки, нажми Tab дважды, чтобы получить список вариантов.
Создание каталога
Как насчет создания каталога practice на рабочем столе? Ты можешь сделать это так:
OS X и Linux
$ mkdir practice
Windows
> mkdir practice
Эта маленькая команда создаст папку с именем practice на рабочем столе. Ты можешь проверить, появилась ли она, просто взглянув на рабочий стол или введя команду ls (для Linux и macOS) или dir (если у тебя Windows)! Попробуй. 🙂
Совет от профи: если ты не хочешь вводить одни и те же команды снова и снова, попробуй нажать на стрелку вверх и стрелку вниз на клавиатуре для просмотра недавно использованных команд.
Тренируемся!
Небольшая задачка: в недавно созданной папке practice создай папку с названием test . Используй команды cd и mkdir .
Решение:
OS X и Linux
$ cd practice $ mkdir test $ ls test
Windows
> cd practice > mkdir test > dir 05/08/2014 07:28 PM test
Чистка
Мы не хотим оставлять беспорядок, поэтому давай удалим всё, что мы создали до этого момента.
Во-первых, мы должны вернуться на рабочий стол:
OS X и Linux
Windows
Используя .. с командой cd , ты можешь сменить текущий каталог на родительский (то есть каталог, который содержит в себе текущий).
Проверь, где ты находишься:
OS X и Linux
$ pwd /Users/olasitarska/Desktop
Windows
> cd C:\Users\olasitarska\Desktop
Пришло время удалить каталог practice :
Внимание: удаление файлов с помощью del , rmdir или rm необратимо. Это означает, что удалённые файлы будут потеряны навсегда! Поэтому будь очень осторожна с этими командами.
Windows Powershell, OS X и Linux
$ rm -r practice
Командная строка Windows
> rmdir /S practice practice, Are you sure ? Y
Готово! Давай проверим, что папка действительно удалена:
OS X и Linux
Windows
Выход
Вот и всё на данный момент! Теперь можно безопасно закрыть командную строку. Давай сделаем это как хакеры, согласна? 🙂
OS X и Linux
$ exit
Windows
> exit
Подведём итоги
Вот краткий обзор некоторых полезных команд:
Команда (Windows) | Команда (Mac OS / Linux) | Описание | Пример |
---|---|---|---|
exit | exit | закрыть окно | exit |
cd | cd | изменить каталог | cd test |
cd | pwd | вывести текущий каталог | cd (Windows) или pwd (Mac OS / Linux) |
dir | ls | список каталогов/файлов | dir |
copy | cp | копировать файл | copy c:\test\test.txt c:\windows\test.txt |
move | mv | переместить файл | move c:\test\test.txt c:\windows\test.txt |
mkdir | mkdir | создать новый каталог | mkdir testdirectory |
rmdir (или del) | rm | удалить файл | del c:\test\test.txt |
rmdir /S | rm -r | удалить каталог | rm -r testdirectory |
[CMD] /? | man [CMD] | справка для команды | cd /? (Windows) или man cd (Mac OS / Linux) |
Это лишь некоторые из команд, которые можно использовать в командной строке, но сегодня тебе больше и не пригодится.
Если тебе интересно, на ss64.com можно найти полный справочник команд для всех операционных систем (на английском языке).
Готова продолжить?
Давай погрузимся в мир Python!