C выполнить команду cmd: Как выполнить команду cmd в программе C

Содержание

Консоль Microsoft Windows — Компания Бизнес-Связь г. Сочи

24
Что такое командная строка

Командная строка в Википедии

Командная оболочка — это отдельный программный продукт, который обеспечивает прямую связь между пользователем и операционной системой. Текстовый пользовательский интерфейс командной строки предоставляет среду, в которой выполняются приложения и служебные программы с текстовым интерфейсом. В командной оболочке программы выполняются, и результат выполнения отображается на экране.

Командная оболочка Windows использует интерпретатор команд Cmd.exe, который загружает приложения и направляет поток данных между приложениями, для перевода введенной команды в понятный системе вид. Консоль командной строки присутствует во всех версиях операционных систем Windows. Отличием работы из командной строки является полное отсутствие больших и громоздких графических утилит.

Как вызвать командную строку

Командная строка — это приложение cmd. exe и его можно запустить следующими способами:

Пуск -> Все программы -> Стандартные -> Командная строка.
Пуск -> Выполнить и введите имя программы cmd.exe

Для того, чтобы перейти к нужному каталогу, необходимо применить команду cd. Например, если необходимо запустить программу Exif Pilot.exe, которая находится в каталоге C:Program FilesExif Pilot, то необходимо выполнить команду cd C:Program FilesExif Pilot. Можно то же самое сделать, сменяя каталоги один за другим и поочередно вызывая команду cd.

Так, следующий набор команд является аналогом предыдущей.
cd c:Program Files
cd Exif Pilot

Для того чтобы распечатать содержимое папки, достаточно набрать команду dir. Существует возможность перенаправить выводимый программой поток напрямую в текстовый файл для дальнейшей обработки. Для этого необходимо использовать управляющий символ «>» и имя текстового файла, например dir > report.txt. Для того, чтобы вручную не переходить к нужной директории можно воспользоваться каким-нибудь файловым менеджером. Для начала нужно в файловом менеджере перейти в нужный каталог и вызвать cmd.exe из командной консоли менеджера. Вы можете воспользоваться файловыми менеджерами, такими как Total Commander, FAR Manager, 2xExplorer, EF Commander, Speed Commander и др. Подробнее о файловых менеджерах Вы можете узнать здесь . Как передать вызываемому приложению параметры командной строки Для каждого приложения, поддерживающего командную строку, предусмотрен специальный набор команд, которые может обрабатывать программа. Параметры команд могут иметь самый разный формат. Чтобы передать программе параметры, необходимо ввести в командной строке имя приложения и параметры команд. После нажатия Enter запустится приложение с введенными командами. Например, program.exe /print c: doc1.txt. Результатом команды будет вывод на печать файла doc1.txt. Настройка окна командной строки Чтобы настроить командную строку, выполните следующие действия. Откройте окно командной строки. Щелкните левый верхний угол окна и выберите команду Свойства. Выберите вкладку Общие. В области Запоминание команд выберите или введите значение 999 в поле Размер буфера, а затем выберите или введите значение 5 в поле Количество буферов. В области Редактированиеустановите флажки Выделение и Быстрая вставка. Выберите вкладку Расположение. В области Размер буфера экрана введите или выберите значение 2500 в поле Высота. Выполните одно из следующих действий по выбору. — В области Размер буфера экрана увеличьте значение параметра Ширина. — В области Размер окна увеличьте значение параметра Высота. — В области Размер окна увеличьте значение параметра Ширина. Снимите флажок Автоматический выбор, а затем в области Положение окна измените значения полей Левый край иВерхний край. В диалоговом окне Изменение свойств выберите вариант Сохранить свойства для других окон с тем же именем. Примечания: Чтобы открыть окно Свойства -> Командная строка с помощью клавиатуры, нажмите клавиши ALT+ ПРОБЕЛ +Й. Флажок Выделение мышью позволяет копировать и вставлять данные в окне командной строки. Чтобы скопировать, выделите левой кнопкой мыши текст в окне командной строки и нажмите правую кнопку мыши. Чтобы выполнить вставку в командную строку или текстовый файл, щелкните правой кнопкой мыши. Увеличение размера буфера экрана до 999 позволяет выполнять прокрутку в окне командной строки. Увеличение количества буферов до пяти увеличивает число строк в окне командной строки до 5000. Редактирование текста в окне командной строки Для копирования и вставки текста в окно командной строки обычные для Windows комбинации клавиш, такие как Ctrl+C, Ctrl+V, работать не будут. Для извлечения текста из буфера обмена вам придется вызвать меню, щелкнув правой кнопкой мыши по заголовку окна, и выбрать подменю Изменить. Или же просто щелкните правой кнопкой по окну. Для копирования текста из окна выберите пункт Пометить и мышью выделите нужный текст. Затем либо нажмите Enter, либо в том же меню выберите Копировать. Если надо вставить какой-то текст в окно командной строки, обратитесь к команде Вставить. Для повторного выполнения команды воспользуйтесь стрелками «вверх» и «вниз», позволяющими перемещаться по списку выполненных команд. Для очистки экрана от текста служит директива cls. Как закрыть окно командной строки Для того чтобы закрыть консоль командной строки, необходимо выполнить команду exit. В современных операционных системах существует множество команд и утилит. Запомнить такое количество различных программ, а тем более их параметров очень сложно, поэтому одним из самых важных параметров для каждой программы является сочетание символов «/?». Выполнив команду с таким параметром, пользователь получит исчерпывающее сообщение о применении утилиты и синтаксисе ее параметров. Например, набрав в командной строке cmd /?, можно будет просмотреть информацию о команде cmd.

Запуск командной строки/ программы от имени SYSTEM в Windows

В Windows для выполнения некоторых действий недостаточно иметь права администратора. Например, вы не сможете заменить или удалить системные файлы, некоторые ветки реестра, остановить системные службы или выполнить другие потенциально небезопасные действия, которые могут нарушить стабильность системы.  Системному администратору в таких случая приходится назначать себе владельцем таких объектов или выполнять действия от имени системы. В этой статье мы рассмотрим, как запустить программу или командную строку в Windows от имени привилегированного аккаунта SYSTEM (Local System).

  • Запуск командной строки от Local System в старых версиях Windows (до Vista)
  • Запуск программ от имени системы с помощью PSExec в Windows 10
Встроенная учетная запись SYSTEM используется диспетчером управления службами SCM (Service Control Manager) для запуска и управления системными службами. Из-под учетной записи System (может называться NT AUTHORITY\SYSTEM, Local System или Computer\LocalSystem)запускается большинство системных служб и процессов (в том числе ядро NT Kernel). Откройте оснастку управления службами services.msc и обратите внимание на службы, у который в столбце LogOnAs указано Local System. Эти службы запушены из-под учетной записи SYSTEM.

Запуск командной строки от Local System в старых версиях Windows (до Vista)

В снятых с поддержки Windows XP и Windows Server 2003 была интересная возможность, позволяющая запустить программу или же интерактивную командную строку (cmd) с правами системы через планировщик. Достаточно войти с правами администратора, открыть командную строку и набрать в ней:

at 12:23 /interactive cmd.exe

, где 12:23 – текущее время + одна минута (в 24 часовом формате).

После наступления указанного времени перед вами открывается окно командной строки, запущенное с правами Local System. Если вы выполнили эту команду в терминальном (rdp) сессии Windows Server 2003/XP, имейте в виду, что командная строка с правами System отображается только в консольной сессии (как подключиться к rdp консоли).

В Windows 10 запуск интерактивной строки с помощью команды at не поддерживается. Вместо него рекомендуется использовать schtasks.exe.

Команда AT признана нерекомендуемой. Используйте вместо нее schtasks.exe.
Внимание! В соответствии с повышенной безопасностью данное задание будет  выполняться в запланированное время, но не интерактивно. Если требуется интерактивное задание, воспользуйтесь служебной программой schtasks.exe (для получения дополнительных сведений введите schtasks /?). Такой запрос не поддерживается.

Запуск программ от имени системы с помощью PSExec в Windows 10

Начиная с Windows 7 трюк с запуском интерактивной командной строки от имени системы через планировщик не работает. Для запуска команд от имени NT Authority\ System можно использовать утилиту PSExec.exe от Sysinternals.

Утилиту PSExec.exe можно скачать на сайте Microsoft https://docs.microsoft.com/en-us/sysinternals/downloads/psexec. Утилита PSExec знакома любому администратору и в первую очередь предназначена для удаленного управления Windows, однако в ней есть полезная возможность запуска процессов от имени System. Некоторые антивирусы могут опознавать PSExec.exe как потенциально небезопасную программу (с помощью psexec кстати распространялся печально известный вирус notpetya),

Утилита PSExec не требует установки. Откройте командную строку с правами администратора (“Run as administrator”) перейдите в каталог, в котором находится исполняемый файл PSexec.exe и наберите:

psexec -i -s cmd.exe

параметр -i запускает приложение в интерактивном режиме (пользователь может взаимодействовать с программой на рабочем столе, если это параметр не указывать, процесс запускается в консольной сесии), —s означает что командную строку нужно запустить из-под системы

При первом запуске PsExec попросит вас принять лицензионное соглашение.

После выполнения команды появится новое окно с командной строкой, запущенной из-под учетной записи NT Authority\System. Проверьте это, выполнив команду:

whoami

Таким образом вы запустить любую программу, команду или скрипт с правами системы.  Достаточно в параметре утилиты PsExec изменить cmd.exe на имя исполняемого файла нужной программы.

В открывшемся окне командной строки вы можете выполнять любые команды в контексте SYSTEM. Теперь вы сможете изменить, переименовать или удалить системные файлы/ветки реестра, владельцем которых является TrustedInstaller или SYSTEM. Все программы или процессы, которые вы запустите их этого окна также будут запущены с повышенными привилегиями LocalSystem. Например, можно остановить системную службу, или закрыть дескриптор занятого системой файла.

С помощью PSExec вы можете получить интерактивную командную с правами NT AUTORITY\СИСТЕМА с удаленного компьютера. Для этого используется команда:

psexec -s \\msk-PCBuh3 cmd.exe

При появлении ошибки couldn’t install PSEXESVC service, убедитесь, что:

  • командная строка запущена от имени администратора;
  • проверьте, возможно служба PSEXESVC уже запущена.

Есть еще ряд сторонних утилит для запуска программ от имени System (AdvancedRun , RunAsSystem, PowerRun), но я не вижу смысла использовать их смысла. Т.к. во-первых это сторонние утилиты, и вы не можете гарантировать что в их коде нет вредоносных закладок, и во-вторых официальная утилита PsExec от Microsoft отлично справляется с задачей.

Командная строка: Что такое и как его использовать в системе Dell

Симптомы

Нет информации о признаках неисправности

Причина

Нет информации о причине

Разрешение

Содержание:

  1. Что такое командная строка
  2. Доступ к командной строке
  3. Основные команды
  4. Часто задаваемые вопросы и ссылки

Что такое командная строка

В операционных системах Windows командная строка — это программа, которая эмулирует поле ввода в текстовом экране пользовательского интерфейса с помощью графического интерфейса пользователя Windows.

Эту программу можно использовать для выполнения введенных команд и дополнительных функций администрирования. Ее также можно использовать для поиска и устранения определенных проблем Windows.


Рис. 1. Окно командной строки

В начало


Доступ к командной строке

В зависимости от установленной операционной системы выберите вкладку, которая соответствует вашей версии Windows.

ПРИМЕЧАНИЕ. В приведенных ниже примерах показано, как открыть командную строку с повышенными привилегиями. Это означает открытие командной строки с правами администратора.

 

 

 

Доступ к командной строке в Windows 7

  1. Нажмите кнопку «Пуск» Windows.

  2. В поле поиска введите «cmd».

  3. В результатах поиска нажмите правой кнопкой мыши на cmd и выберите «Запуск от имени администратора»(рис. 2).



    Рис. 2. Запуск от имени администратора
  4. Откроется окно командной строки(рис. 3).



    Рис. 3. Командная строка Windows 7
  5. Чтобы перейти в корневой каталог, введите «cd\» и нажмите клавишу Enter (рис. 4).



    Рис. 4. Командная строка в корневом каталоге

    ПРИМЕЧАНИЕ. Корневой каталог лучше всего ввести необходимые команды или инструкции.

 

 

Доступ к командной строке в Windows 8/8.1

  1. Переместите указатель мыши в нижний левый угол экрана и нажмите правой кнопкой мышиили нажмите клавишу Windows + X.

  2. В меню задач power user выберите командную строку (администратор)(рис. 5).



    Рис. 5. Меню задач пользователей с питанием
  3. Откроется окно командной строки(рис. 6).



    Рис. 6. Командная строка Windows 8
  4. Чтобы изменить тип «cd\ корневого каталога», нажмите enter(рис. 7).



    Рис. 7. Командная строка в корневом каталоге

    ПРИМЕЧАНИЕ. Корневой каталог лучше всего ввести необходимые команды или инструкции.

 

 

Доступ к командной строке в Windows 10

  1. Переместите указатель мыши в нижний левый угол экрана и нажмите правой кнопкой мышиили нажмите клавишу Windows + X.

  2. В меню задач power user выберите командную строку (администратор)(рис. 8).



    Рис. 8. Меню задач пользователей с питанием
  3. Откроется окно командной строки(рис. 9).



    Рис. 9. Командная строка Windows 10
  4. Чтобы перейти в корневой каталог, введите «cd\» и нажмите клавишу Enter(рис. 10).



    Рис. 10. Командная строка в корневом каталоге

    ПРИМЕЧАНИЕ. Корневой каталог лучше всего ввести необходимые команды или инструкции.

 

В начало


Основные команды

  • команда cd (change directory), используемая для переключения

    каталога (пути), в котором вы работаете.

    Пример: cd\windows\system32. Эта команда позволяет перейти в папку system32, находящуюся в папке Windows.
     

  • dir (directory) позволяет просматривать доступные файлы и папки
    в выбранном каталоге. Также приведены подробные сведения о дате изменения и размере файлов.

    Для выполнения дополнительных действий можно использовать несколько дополнительных коммутаторов с командой. (дополнительные сведения о доступных командах см. в руководстве Microsoft ниже).

    Пример. C:\> dir. Это позволит отобразить содержимое каталога или диска
    C.

 

  • ipconfig
    Эта команда отображает текущую информацию о сети для адаптеров, включая IP-адрес, шлюз по умолчанию, маску подсети и т. д.
     
  • ping-запрос
    Эта команда используется в качестве средства поиска и устранения неполадок сети. Она отправляет пакет данных другому компьютеру в той же сети и ожидает ответа, а затем выводит результаты.

    Пример: ping 192.168.0.2 Это приведет к отправке ping-запроса компьютеру с адресом
    192.168.0.2 и выводит любой ответ.
     

  • Help ( /?)
    Команда справки предоставляет информацию о другой команде, включая доступные коммутаторы для выполнения дополнительных задач.

    Пример: Ipconfig /help.

Список команд можно найти в справочном руководстве по командной строке Microsoft 

В начало


Часто задаваемые вопросы

Как отменить команду?
Чтобы остановить выполнение команды, используйте сочетание клавиш Ctrl + C.

ПРИМЕЧАНИЕ. Это не отмена. Команда остановит текущую команду только во время ее выполнения.

 

Как выключить или перезапустить компьютер с экрана командной строки?
Приведенные ниже команды также можно использовать для выключения или перезагрузки компьютеров в сети. Это удобно, если нужно установить обновления, требующие перезагрузки.
  • Команда shutdown /s завершит работу системы.
  • при выключении /i в командной строке открывается диалоговое окно удаленного завершения работы. В этом окне будут доступны параметры, доступные через простой в использовании интерфейс, включая сетевые системы.

 

Как получить доступ к предыдущим командам, которые я использовал?
С помощью клавиш со стрелками можно циклически переключаться между ранее выполненными командами. Например, стрелки вверх и ВНИЗ будут отображать последние использованные команды. При использовании стрелок вправо и влево команды отображаются побуквенно.

 

В начало

17 авг. 2021

Оцените эту статью

Благодарим вас за отзыв.

К сожалению, наша система обратной связи в настоящее время не работает. Повторите попытку позже.

Комментарии не должны содержать следующие специальные символы: ()\

Командная строка cmd

Как управлять компьютером без мышки? Для этого можно запустить командную строку Windows cmd с помощью комбинации клавиш win+r а затем набрать в появившейся консоли cmd и нажать Enter.

Открылось окно командной строки. Через него Вы можете выключать компьютер, создавать/удалять папки, устанавливать расписание запуска программ, делать программы системными, изменять расширение файлов, запускать и останавливать приложения и многое другое.

Если вы хотите, чтобы ряд команд cmd исполнялся на компьютере автоматически, Вы можете записать их в блокноте и сохранить с расширением .bat

Пример простейшей программы:

@echo off
color 0a
chcp 1251
echo Перезагрузка компьютера
pause
shutdown /r


Эта программа перезагружает компьютер и требует для этого нажать любую клавишу. Чтобы остановить выполнение программы надо просто закрыть появившееся окно.

Подобные bat-файлы (батники) часто используются для написания компьютерных вирусов, которых кстати говоря, не замечают антивирусные программы (в большинстве случаев). А для скрытности их переводят в .exe формат.

Для просмотра всех команд можно набрать help  в командной строке:

Для просмотра синтаксиса конкретной команды набрать help <имя команды>:

Описание команд

A

append — позволяет программам открывать файлы в указанных каталогах так , словно они находятся в текущем каталоге.

arp — отображение и изменение таблиц преобразования IP-адресов в физические, используемые протоколом разрешения адресов.

assoc — вывод либо изменение сопоставлений по расширениям имён файлов.

at — команда предназначена для запуска программ в указанное время.

atmsdm — Контроль подключений и адресов, зарегистрированных диспетчером вызовов ATM в сетях с асинхронным режимом передачи (ATM).

attrib — изменение атрибутов файлов и папок.

auditusr — задаёт политику аудита пользователей.

B

break — включение режима обработки клавиш CTRL+C.

bootcfg — эта программа командной строки может быть использована для настройки , извлечения , изменения или удаления параметров командной строки в файле Boot.ini.

C

cacls — просмотр изменение таблиц управления доступом ACL к файлам.

call — вызов одного пакетного файла из другого.

cd — вывод имени либо изменение текущей папки.

chcp — вывод либо изменение активной кодовой страницы.

chdir — вывод либо смена текущей папки.

chkdsk — проверка диска и вывод отчёта.

chkntfs — выводит или изменяет параметры проверки диска во время загрузки.

ciddaemon — сервис индексации файлов.

cipher — программа шифрования файлов.

cls — очистка экрана интерпретатора.

cmd — запуск нового окна командной строки.

cmstp — установка профилей диспетчера подключений.

color — устанавливает цвет для текста и фона в текстовых окнах.

comp — сравнение содержимого двух файлов или наборов файлов.

compact — просмотр и изменение параметров сжатия файлов в разделах NTFS.

convert — преобразование файловой системы тома FAT в NTFS.

copy — копирование одного или нескольких файлов.


D

date — вывод либо установка текущей даты.

debug — средство для отладки и редактирования программ.

defrag — дефрагментация диска.

del — удаление одного или нескольких файлов.

devcon — альтернатива диспетчера устройств.

diantz — тоже что и MAKECAB.

dir — вывод списка файлов и подпапок из указанного каталога.

diskcomp — сравнение содержимого двух гибких дисков.

diskcopy — копирование содержимого одного гибкого диска на другой.

diskpart — использования сценария diskpart.

diskperf — счетчик производительности дисков.

doskey — редактирование и повторный вызов команд Windows; создание макросов DOSKey.

driverquery — просмотр списка установленных драйверов устройств и их свойства.


E

echo — вывод сообщений и переключение режима отображения команд на экране.

edit — запуск редактора MS-DOS.

endlocal — завершение локализации изменений среды в пакетном файле.

edlin — запуск построчного текстового редактора.

erase — удаление одного или нескольких файлов.

esentutl — обслуживание утилит для Microsoft (R) баз данных Windows.

eventcreate — эта команда позволяет администратору создать запись об особом событии в указанном журнале событий.

eventtriggers — эта команда позволяет администратору отобразить и настроить триггеры событий в локальной или удаленной системе.

exe2bin — преобразование EXE-файлов в двоичный формат.

exit — завершение командной строки.

expand — распаковка сжатых файлов.


F

fc — сравнение двух файлов или двух наборов файлов и вывод различий между ними.

find — поиск текстовой строки в одном или нескольких файлах.

findstr — поиск строк в файлах.

finger — вывод сведений о пользователях указанной системы.

fltmc — работа с фильтром нагрузки драйверов.

for — выполнение указанной команды для каждого файла набора.

forcedos — сопоставление приложений MS-DOS, которые не распознаются системой Microsoft Windows XP.

format — форматирование диска для работы с Windows.

fontview — программа просмотра шрифтов.

fsutil — управление точками повторной обработки, управление разреженными файлами, отключение тома или расширение тома.

ftp — программа передачи файлов.

ftype — просмотр и изменение типов файлов, сопоставленных с расширением имен файлов.


G

getmac — отображает MAC-адрес одного или нескольких сетевых адаптеров компьютера.

goto — передача управления содержащей метку строке пакетного файла.

gpresult — отображает результирующую политику (RSoP) для указанного пользователя и компьютера.

gpupdate — выполнение обновления групповых политик.

graftabl — выбор кодовой страницы для отображения символов национальных алфавитов в графическом режиме.


H

help — выводит не полный список команд, которые используются в cmd.

hostname — отображение имени компьютера.

I

if — оператор условного выполнения команд в пакетном файле.

ipconfig — вывод маску подсети, стандартный шлюз и информацию о вашем IP.

ipxroute — программа управления маршрутизацией NWLink IPX.

L

label — создание, изменение и удаление меток тома для диска.

lodctr — обновление имен счётчиков и поясняющего текста для расширенного счётчика.

logman — управление расписанием для счетчиков производительности и журнала трассировки событий.

logoff — завершение сеанса Windows.

lpq — отображение состояния очереди удалённой очереди печати lpq.

lpr — направляет задание печати на сетевой принтер.

lsass — сервер определения локальной защиты.


M

makecab — архивирование файлов в cab-архив.

md — создание папки.

mem — выводит сведения об используемой и свободной памяти.

mkdir — создание папки с расширенной функциональностью.

mmc — открытие окна консоли MMC.

mode – отладка системных устройств.

mofcomp — 32-разр. компилятор Microsoft (R) MOF.

more — последовательный вывод данных по частям размером в один экран.

mountvol — просмотр, создание и удаление точек подключения тома.

move — перемещение и переименование файлов и каталогов.

mqbkup — утилита архивирования и восстановления очереди сообщений.

mqsvc — Обеспечивает инфраструктуру для работы распределенных приложений.

mrinfo — Работа с многоадресными рассылками.

msg — отправка сообщений пользователю.

msiexec — запуск установщика Windows.


N

nbtstat — отображение статистики протокола и текущих подключений TCP/IP с помощью NBT (NetBIOS через TCP/IP).

net — пакет приложений предназначенный для работы с сетью.

net1 — тоже самое что и net.

netsh — локальное или удаленное отображение и изменение параметров сети.

netstat — отображение статистики протоколов и текущих сетевых подключений TCP/IP.

nlsfunc — загрузка сведений о национальных стандартах.

nslookup — вывод информации, предназначенный для диагностики DNS.

ntbackup — запуск мастера архивирования.

ntsd — отладчик командной строки.


O

odbcconf — настройка драйвера ODBC.

openfiles — эта команда позволяет пользователю вывести список открытых файлов и папок, которые были открыты в системе.


P

pagefileconfig — настройка файлов подкачки и виртуальной памяти.

path — вывод либо установка пути поиска исполняемых файлов.

pathping — вывод информации о скрытый сетях и потери данных.

pause — приостанавливает выполнение сценария cmd.

pentnt — обнаруживает ошибки деления с плавающей точкой процессора Pentium, отключает аппаратную обработку чисел с плавающей точкой и включает эмуляции операций с плавающей точкой.

perfmon — открывает окно «Производительность».

ping — проверяет соединение с другим компьютером.

ping6 — команда проверки связи.

popd — изменяет одну папку на ту, которая была сохранена командой PUSHD.

powercfg — эта команда позволяет управлять электропитанием системы.

print — печать текстового файла.

prncnfg — настройка параметров принтера.

prompt — изменение приглашения командной строки cmd.exe.

proxycfg — инструмент настройки proxy соединения.

pushd — сохранения значений текущего каталога для использования POPD командой.


Q

qappsrv — отображает доступные серверы терминалов в сети.

qprocess — отображает информацию о процессах.

qwinsta — отображение информации о сеансах терминалов.

R

rasdial — интерфейс связи из командной строки для клиента службы удалённого доступа.

rcp — обмен файлами с компьютером, на котором выполняется служба RCP.

recover — восстановление сохранившихся данных на поврежденном диске.

reg — редактирование системного реестра через командную строку.

regsvr32 — сервер регистрации.

relog — создает новый журнал производительности из уже имеющего.

rem — помещение комментария в пакетный файл.

ren — переименование файлов и папок.

rename — переименование файлов и папок.

replace — замена файлов.

reset — утилита сброса служб терминалов.

rexec — выполнение команд на удаленных узлах на которых выполняется служба rexec.

rd — удаление папки.

rmdir — удаление папки.

route — обработка таблиц сетевых маршрутов.

rsh — выполнение команд на удаленных узлах, на которых запущена служба RSH.

rsm — управление ресурсами носителей с помощью службы «Съемные ЗУ».

runas — использование приложений от имени другого пользователя.

rundll32 — запуск стандартных команд-функций заложенных в dll.

rwinsta — сброс значений подсистем оборудования и программ сеанса в начальное состояние.

S

sc — установление связи с NT Service Controller и ее услугами.

schtasks — создание, удаление, изменение и опрос запланированных задачи в локальной ли удаленной системе.

sdbinst — установщик базы данных совместимости.

secedit – автоматизация задач настройки безопасности.


set — вывод, присваивание и удаления переменных в командной строке.

setlocal — начало локализации изменений среды в пакетном файле.

setver — задает номер версии, который MS-DOS сообщает программе.

sfc — Проверка файлов Windows.

shadow — позволяет наблюдать за другим сеансом служб терминалов.

shift — изменение содержимого подставляемых параметров для пакетного файла.

shutdown — завершение сеанса, выключение и перезагрузка системы Windows.

smbinst — это процесс, принадлежащий System Management BIOS Driver Installer.

sort — сортирование файлов.
start — запуск программы или команды в отдельном окне.

subst — сопоставление имени диска указанному пути.

systeminfo — вывод информации о настройках системы.


T

taskkill — завершение одного или нескольких процессов.

tasklist — показывает запущенные программы и процессы выполняемые в данный момент.

tcmsetup — установка клиента телефонии.

tftp — обмен файлами с удаленным компьютером, на котором запущена служба TFTP.

time — просмотр или изменение текущего времени.

title — назначение заголовка окна интерпретатора.

tlntadmn — удаленное управление компьютером.

tracert — трассировка маршрута к указанному узлу.

tracerpt — обрабатывает двоичные файлы журнала отслеживания событий или потоки данных.

tracert6 — версия tracert для протокола IPv6.

tree — вывод структуры диска или каталога в виде дерева.

tscon — присоединяет сеанс пользователя к сеансу терминала.

tsdiscon — отключение сеанса терминала.

tskill — прекращение процесса.

tsshutdn — завершение работы сервера в установленном порядке.

type — вывод на экране содержимого текстовых файлов.

typeperf — выводит сведения о производительности на экран или в журнал.


U

unlodctr — удаление имен счётчиков и поясняющего текста для расширенного счётчика.

userinit — проводник системы Windows.

V

ver — вывод сведений о версии Windows.

verify — установка режима проверки правильности записи файлов на диск.

vol — вывод метки и серийного номера тома для диска.

vssadmin — инструмент командной строки теневого копирования тома.


W

w32tm — диагностика службы времени.

wbemtest — тестер инструментария управления Windows.

winver — вывод информации о версии Windows.

wmic — инструмент для написания сценариев.


X
xcopy — копирование файлов и дерева папок.

Добавить комментарий

W2K — работа с командной строкой (cmd.exe) | windows

Перевод документации Microsoft TechNet, где описаны основные принципы работы с командной строкой.

Командная оболочка — это отдельный программный продукт, который обеспечивает прямую связь между пользователем и операционной системой. Текстовый пользовательский интерфейс командной строки предоставляет среду, в которой выполняются приложения и служебные программы с текстовым интерфейсом. В командной оболочке выполняются программы и результат выполнения отображается на экране в виде, сходном с интерпретатором Command.com MS-DOS. Командная оболочка операционной системы W2K использует для перевода введенной команды в формат, понятный системе, интерпретатор команд Cmd.exe, который загружает приложения и распределяет поток данных между приложениями.

Имеется возможность использовать командную оболочку для создания и редактирования пакетных файлов (также называемых сценариями, обычно пишутся на Basic, расширение файла vbs), что позволит автоматизировать выполнение обычных задач. Например, сценарии можно использовать для автоматизации управления учетными записями пользователей и ежедневной архивацией в нерабочие часы. Также можно использовать вариант сервера сценариев Windows, запускаемый из командной строки — CScript.exe (или GUI-версия wscript.exe), чтобы выполнить в командной оболочке более сложные сценарии.

Если запустить файл сценария (например, двойным щелчком или из командной строки), то по умолчанию используется wscript.exe (это поведение по умолчанию можно изменить, см. подсказку по команде CScript.exe, она выводится, если запустить CScript.exe без параметров).
Выполнение операций с помощью пакетных файлов является более эффективным, чем с помощью интерфейса пользователя. Пакетные файлы принимают все команды, доступные из командной строки.

Имеется возможность настроить окно командной строки для облегчения просмотра и для увеличения контроля за выполнением программ (системное меню консоли командной строки, Свойства).

1. Запуск командной строки — Пуск\Выполнить…\cmd
2. Выход из командной строки — exit.
3. Если набрать в командной строке cmd и нажать Enter, то запускается вложенный интерпретатор cmd, т. е. теперь для выхода надо дважды набрать команду exit.
4. Можно использовать операторы перенаправления команд (см. далее).

Операторы перенаправления команд используются для изменения местоположений потоков ввода и вывода команд, заданных по умолчанию, на какие-либо другие. Местоположение потоков ввода и вывода называется дескриптором.

В следующей таблице представлены доступные дескрипторы.

Дескриптор Числовой эквивалент дескриптора Описание
STDIN 0 Ввод с клавиатуры.
STDOUT 1 Вывод в окно командной строки.
STDERR 2 Вывод ошибок в окно командной строки.
UNDEFINED 3 .. 9 Дескрипторы определяются индивидуально для каждой прикладной программы.

Номера от 0 до 9 представляют первые 10 дескрипторов. Для запуска программы и перенаправления любого из 10 дескрипторов используется интерпретатор команд Cmd.exe. Для задания требуемого дескриптора перед оператором перенаправления введите его номер. Если дескриптор не определен, то по умолчанию оператором перенаправления ввода «<» будет ноль (0), а оператором перенаправления вывода «>» будет единица (1). После ввода оператора «<» или «>» необходимо определить, откуда нужно читать или куда нужно записывать данные. Можно задать имя файла или любой из существующих дескрипторов.

Чтобы определить перенаправление для существующих дескрипторов, используйте знак амперсанд (&), за которым идет номер перенаправляемого дескриптора (то есть, &номер_дескриптора). Например, для перенаправления дескриптора 2 (STDERR) в дескриптор 1 (STDOUT) введите:
2>&1

В следующей таблице описаны операторы перенаправления потоков ввода и вывода.

Оператор перенаправления Описание
> Записывает данные на выходе команды вместо окна командной строки или дескриптора в файл или на устройство, например, на принтер.
< Читает поток входных данных команды из файла, а не с клавиатуры или дескриптора.
>> Добавляет выходные данные команды в конец файла, не удаляя при этом существующие данные файла.
>& Считывает данные на выходе одного дескриптора как входные данные для другого дескриптора.
<& Считывает входные данные одного дескриптора как выходные данные другого дескриптора.
| Считывает выходные данные одной команды и записывает их на вход другой команды. Эта процедура известна под названием «канал».

По умолчанию входные данные команды (дескриптор STDIN) отсылаются с клавиатуры интерпретатору команд Cmd.exe, и Cmd.exe отправляет выходные данные команды (дескриптор STDOUT) в окно командной строки.

Перенаправление ввода (<). Чтобы перенаправить вход с клавиатуры в файл или на устройство, используйте оператор «<». Например, для ввода данных в команду sort из файла File.txt введите:
sort Содержимое файла File.txt появится в командной строке в виде списка в алфавитном порядке.
Оператор «<» открывает файл с заданным именем только для чтения. Поэтому с его помощью нельзя записывать в файл. Например, при запуске программы с помощью перенаправления <&2 все попытки прочитать дескриптор 0 заканчиваются неудачей, так как дескриптор 2 первоначально открыт с доступом только для чтения.

Примечание: 0 это дескриптор по умолчанию для оператора перенаправления ввода <.

Перенаправления вывода (>). Выходные данные практически всех команд высвечиваются в окне командной строки. Даже команды, выводящие данные на диск или принтер, выдают сообщения и запросы в окне командной строки. Чтобы перенаправить вывод из окна командной строки в файл или на устройство, используется оператор «>». Этот оператор используется с большинством команд. Например, для перенаправления вывода команды dir в файл dirlist.txt введите:

Если файл dirlist.txt не существует, интерпретатор команд Cmd.exe создаст его. Если файл существует, Cmd.exe заменит информацию в файле на данные, полученные от команды dir.

Для запуска команды netsh routing dump и отправки результатов ее работы в файл Route.cfg введите:

netsh routing dump>c:\route.cfg

Оператор > открывает указанный файл только для записи. Поэтому с помощью данного оператора файл прочитать нельзя. Например, при запуске программы с перенаправлением >&0 все попытки записать дескриптор 1 заканчиваются неудачей, так как дескриптор 0 первоначально открыт с доступом только для чтения.

Примечание: 1 является дескриптором по умолчанию для оператора перенаправления вывода >.

Дублирование дескрипторов. Оператор перенаправления & дублирует выходные или входные данные с одного заданного дескриптора на другой заданный дескриптор. Например, для отправки выводимых данных команды dir в файл File.txt и отправки ошибки вывода в файл File.txt введите:

При дублировании дескриптора происходит копирование всех его исходных характеристик. Например, если дескриптор доступен только для записи, то все его дубликаты будут доступны только для записи. Нельзя продублировать дескриптор с доступом только для чтения в дескриптор с доступом только для записи.

Использование оператора & для перенаправления ввода и дублирования. Чтобы использовать оператор перенаправления ввода (<) с оператором дублирования (&), указанный файл должен существовать. Если входной файл существует, Cmd.exe открывает его только для чтения и отправляет его содержимое в файл, как если бы ввод выполнялся с клавиатуры. При задании дескриптора интерпретатор команд Cmd.exe дублирует его в дескриптор, существующий в системе.

Например, для считывания файла File.txt на вход в дескриптор 0 (STDIN) введите:

Для открытия файла File.txt, сортировки его содержимого и последующей отправки в окно командной строки (т. е. в поток STDOUT) введите:

Для того чтобы найти файл file.txt и перенаправить дескриптор 1 (STDOUT) и дескриптор 2 (STDERR) в search.txt введите:

findfile file.txt > search.txt 2 < &1

Для дублирования определенного пользователем дескриптора 3 в качестве входной информации для дескриптора 0 (STDIN) введите:

Использование оператора & для перенаправления вывода и дублирования. При перенаправлении вывода в файл и задании существующего имени файла интерпретатор команд Cmd.exe открывает файл с доступом только для записи и переписывает его содержимое. Если дескриптор задан, интерпретатор команд Cmd.exe дублирует файл в существующий дескриптор. Для дублирования определенного пользователем дескриптора 3 в дескриптор 1 введите:

Для перенаправления всех выходных данных, включая выходные данные дескриптора 2 (поток STDERR), из команды ipconfig в дескриптор 1 (поток STDOUT) и последующего перенаправления выходных данных в файл Output.log, введите:

ipconfig.exe >> output.log 2 > &1

Использование оператора >> для добавления вывода. Для добавления вывода в файл без потери содержащихся в нем данных используется двойной символ «больше» (то есть >>). Например, следующая команда добавляет список каталогов, созданный командой dir, в файл dirlist.txt:

Для добавления выходных данных команды netstat в конец файла tcpinfo.txt введите:

Использование оператора канала (|) — pipe. Оператор канала «вертикальная линия» (|) забирает выходные данные одной команды (по умолчанию STDOUT) и направляет их на вход другой команды (по умолчанию STDIN). Например, следующая команда сортирует каталог:

В данном примере обе команды запускаются одновременно, но команда sort приостанавливает работу до получения выходных данных команды dir. Команда sort использует выходные данные команды dir в качестве своих входных данных, а затем свои выходные данные отправляет в дескриптор 1 (STDOUT).

Комбинирование команд с операторами перенаправления. Комбинируя команды-фильтры с другими командами и именами файлов, можно создавать команды на заказ. Например, для сохранения имен файлов, содержащих строку «log», используется следующая команда:

dir /b | find "log" loglist.txt

Выход команды dir отсылается в команду-фильтр find. Имена файлов, содержащие строку «LOG», хранятся в файле loglist.txt в виде списка (например, NetshConfig.log, Logdat.svd и Mylog.bat).

При использовании более одного фильтра в одной команде их необходимо отделять с помощью канала (|). Например, следующая команда ищет в каждом каталоге диска C файлы, в названии которых присутствует строка «Log», и выводит их постранично на экран:

dir c:\ /s /b | find "log" | more

Наличие канала (|) указывает Cmd.exe, что выход команды dir нужно отправить команде-фильтру find. Команда find выбирает только те имена файлов, в которых содержится строка «LOG». Команда more выводит на экран имена файлов, полученные командой find с паузой после заполнения каждого экрана.

5. Для командной строки возможно использование фильтров, что позволяет управлять выводом информации. Всего есть 3 команды-фильтра:

More     Отображает содержимое файла или вывода команды в одном окне командной строки за раз.
Find     Поиск указанных символов в файлах и выходе команды.
Sort     Сортировка файлов и выхода команды по алфавиту.
 
6. Использование нескольких команд и символов условной обработки.

Можно выполнять несколько команд из одной командной строки или сценария с помощью символов условной обработки. При использовании нескольких команд, содержащих символы условной обработки, выполнение команд, стоящих справа от символа условной обработки, будет проводиться в зависимости от результатов выполнения команды, стоящей слева от символа. Например, требуется, чтобы команда выполнялась, только если предыдущая команда не была выполнена успешно. Или требуется, чтобы команда выполнялась, только если предыдущая команда была выполнена успешно.

Для передачи нескольких команд можно использовать специальные символы, перечисленные в следующей таблице.

Символ Синтаксис Определение
& […] команда1 & команда2 Используется для разделения нескольких команд в одной командной строке. В Cmd.exe выполняется первая команда, затем вторая команда.
&& […] команда1 && команда2 Запускает команду, стоящую за символом &&, только если команда, стоящая перед этим символом, была выполнена успешно (вернула значение 0). В Cmd.exe выполняется первая команда. Вторая команда выполняется, только если первая была выполнена успешно.
|| […] команда1 || команда2 Запускает команду, стоящую за символом ||, только если команда, стоящая перед символом || не была выполнена. В Cmd.exe выполняется первая команда. Вторая команда выполняется, только если первая не была выполнена (полученный код ошибки превышает ноль).
( ) […] (команда1 & команда2) Используется для группировки или вложения команд.) или кавычки, если эти символы передаются в качестве аргументов.
• Если команда завершает операцию успешно, возвращается нулевой (0) код ошибки или не возвращается никакого кода. Дополнительные сведения о кодах завершения см. в разделе Использование пакетов Windows Deployment Kit и Windows Resource Kit.

7. Использование оператора канала (|) в скрипте vbs. Создайте файл test.vbs с таким содержимым:

Наберите в командной строке:

cscript test.vbs //Nologo | cmd

После нажатия Enter запустится калькулятор.

Выполнение shell команд с Python 

Повторяющиеся задачи созрели для автоматизации. Разработчики и системные администраторы обычно автоматизируют рутинные задачи, такие как проверки работоспособности и резервное копирование файлов, с помощью сценариев оболочки. Однако, поскольку эти задачи становятся более сложными, сценарии оболочки могут усложняться в обслуживании.

К счастью, мы можем использовать Python вместо сценариев оболочки для автоматизации. Python предоставляет методы для запуска команд оболочки, предоставляя нам ту же функциональность, что и сценарии оболочки. Изучение того, как выполнять команды оболочки в Python, открывает нам возможность автоматизировать компьютерные задачи структурированным и масштабируемым образом.

В этой статье мы рассмотрим различные способы выполнения команд оболочки в Python и идеальную ситуацию для использования каждого метода.

Использование os.system для запуска команды

Python позволяет нам немедленно выполнить команду оболочки, которая хранится в строке, используя функцию os.system().

Давайте начнем с создания нового файла Python с именем echo_adelle.py и введите следующее:

import os

os.system("echo Hello from the other side!")

Первое, что мы делаем в нашем Python файле, это импортируем модуль os, который содержит функцию system, которая может выполнять команды оболочки. Следующая строка делает именно это, запускает команду echo в нашей оболочке через Python.

В вашем терминале запустите этот файл с помощью следующей команды, и вы должны увидеть соответствующий вывод:

$ python3 echo_adelle.py
Hello from the other side!

По мере того, как команды echo выводятся в наш stdoutos.system() также возвращает код завершения команды оболочки. Код 0 означает, что он работает без проблем, а любое другое число означает ошибку.

Давайте создадим новый файл с именем cd_return_codes.py и введите следующее:

import os

home_dir = os.system("cd ~")
print("`cd ~` ran with exit code %d" % home_dir)
unknown_dir = os.system("cd doesnotexist")
print("`cd doesnotexis` ran with exit code %d" % unknown_dir)

В этом сценарии мы создаем две переменные, в которых хранятся результаты выполнения команд, которые изменяют каталог на домашнюю папку и на несуществующую папку. Запустив этот файл, мы увидим:

$ python3 cd_return_codes.py
`cd ~` ran with exit code 0
sh: line 0: cd: doesnotexist: No such file or directory
`cd doesnotexist` ran with exit code 256

Первая команда, которая изменяет каталог на домашний каталог, выполняется успешно. Следовательно, os.system() возвращает код ноль, который хранится в home_dir. С другой стороны, unknown_dir сохраняет код завершения неудачной команды bash, чтобы изменить каталог на несуществующую папку.

Функция os.system() выполняет команду, печатает любой вывод команды на консоль и возвращает код завершения команды. Если нам нужно более детальное управление вводом и выводом команды оболочки в Python, мы должны использовать модуль subprocess.

Выполнение команды с подпроцессом

Модуль subprocess — это рекомендуемый Python способ выполнения команд оболочки. Это дает нам гибкость для подавления вывода команд оболочки или цепочки входов и выходов различных команд вместе, в то же время обеспечивая аналогичный опыт os.system() для базовых сценариев использования.

В новом файле с именем list_subprocess.py напишите следующий код:

import subprocess

list_files = subprocess.run(["ls", "-l"])
print("The exit code was: %d" % list_files.returncode)

В первой строке мы импортируем модуль subprocess, который является частью стандартной библиотеки Python. Затем мы используем функцию subprocess.run() для выполнения команды. Также как и команда os.system(), subprocess.run() возвращает код того, что было выполнено.

Обратите внимание, что subprocess.run() принимает список строк в качестве входных данных вместо одной строки. Первым элементом списка является название команды. Остальные пункты списка — это флаги и аргументы команды.

Примечание: Как правило, вам нужно отделить аргументы , основанные на пространстве, например , ls -alh будет ["ls", "-alh"], а ls -a -l -h, превратится в ["ls", "-a", -"l", "-h"].

Запустите этот файл, и вывод вашей консоли будет похож на:

$ python3 list_subprocess.py
total 80
-rw-r--r--@ 1 stackabuse  staff    216 Dec  6 10:29 cd_return_codes.py
-rw-r--r--@ 1 stackabuse  staff     56 Dec  6 10:11 echo_adelle.py
-rw-r--r--@ 1 stackabuse  staff    116 Dec  6 11:20 list_subprocess.py
The exit code was: 0

Теперь давайте попробуем использовать одну из более продвинутых функций subprocess.run(), а именно игнорирование вывода в stdout. В том же файле list_subprocess.py измените:

list_files = subprocess.run(["ls", "-l"])

на

list_files = subprocess.run(["ls", "-l"], stdout=subprocess.DEVNULL)

Стандартный вывод команды теперь передается на специальное устройство /dev/null, что означает, что вывод не будет отображаться на наших консолях. Запустите файл в вашей оболочке, чтобы увидеть следующий вывод:

$ python3 list_subprocess.py
The exit code was: 0

Что если мы хотим получить результат команды? subprocess.run() поможет сделать это. Создайте новый файл с именем cat_subprocess.py, набрав следующее:

import subprocess

useless_cat_call = subprocess.run(["cat"], stdout=subprocess.PIPE, text=True, input="Hello from the other side")
print(useless_cat_call.stdout)  # Hello from the other side

Мы используем довольно много параметров, давайте рассмотрим их:

  1. stdout=subprocess.PIPE говорит Python перенаправить результат выполнения команды в объект, чтобы позже его можно было прочитать вручную
  2. text=True возвращает stdout и в stderr виде строк. Тип возвращаемого значения по умолчанию — байты.
  3. input="Hello from the other side" говорит Python добавить строку в качестве ввода в команду cat.

Запуск этого файла приводит к следующему выводу:

Hello from the other side

Мы также можем бросить Exception без проверки значения возврата. В новом файле false_subprocess.py добавьте код ниже:

import subprocess

failed_command = subprocess.run(["false"], check=True)
print("The exit code was: %d" % failed_command.returncode)

В вашем терминале запустите этот файл. Вы увидите следующую ошибку:

$ python3 false_subprocess.py
Traceback (most recent call last):
  File "false_subprocess.py", line 4, in 
    failed_command = subprocess.run(["false"], check=True)
  File "/usr/local/python/3.7.5/Frameworks/Python.framework/Versions/3.7/lib/python3.7/subprocess.py", line 512, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['false']' returned non-zero exit status 1.

Используя check=True, мы сообщаем Python, что нужно вызывать любые исключения, если возникает ошибка. Так как мы столкнулись с ошибкой, оператор print в последней строке не был выполнен.

Функция subprocess.run() дает нам огромную гибкость. Эта функция представляет собой упрощенную абстракцию класса subprocess.Popen, которая предоставляет дополнительные функциональные возможности, которые мы можем исследовать.

Выполнение команды с Popen

Класс subprocess.Popen предоставляет больше возможностей для разработчика при взаимодействии с оболочкой. Тем не менее, мы должны быть более точными в получении результатов и ошибок

По умолчанию subprocess.Popen не останавливает обработку программы Python, если ее команда не завершила выполнение. В новом файле с именем list_popen.py введите следующее:

import subprocess

list_dir = subprocess.Popen(["ls", "-l"])
list_dir.wait()

Этот код эквивалентен list_subprocess.py. Он запускает команду с помощью subprocess.Popen и ожидает ее завершения, прежде чем выполнить оставшуюся часть сценария Python.

Допустим, мы не хотим ждать завершения выполнения команды оболочки, чтобы программа могла работать над другими вещами. Как узнать, когда команда оболочки закончила выполнение?

Метод poll() возвращает код завершения, если команда закончит работу, или None если он все еще выполняется. Например, если бы мы хотели проверить, завершено ли list_dir, а не ждать его, у нас была бы следующая строка кода:

Для управления вводом и выводом subprocess.Popen нам нужно использовать метод communicate().

В новый файл с именем cat_popen.py добавьте следующий фрагмент кода:

import subprocess

useless_cat_call = subprocess.Popen(["cat"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
output, errors = useless_cat_call.communicate(input="Hello from the other side!")
useless_cat_call.wait()
print(output)
print(errors)

Метод communicate() принимает аргумент input,  который используется для передачи входных данных команде оболочки. Метод communicate также возвращает stdout и stderr когда они установлены.

Мы рассмотрели три способа запуска команд оболочки в Python с использованием класса subprocess.Popen. Давайте еще раз рассмотрим их характеристики, чтобы узнать, какой метод лучше всего подходит для требований проекта.

Какой из них я должен использовать?

Если вам нужно выполнить одну или несколько простых команд и вам не помешает, если их вывод поступит в консоль, вы можете использовать команду os.system(). Если вы хотите управлять вводом и выводом команды оболочки, используйте subsystem.run(). Если вы хотите выполнить команду и продолжить выполнять другую работу, пока она выполняется, используйте subprocess.Popen.

Вот таблица с некоторыми различиями в юзабилити, которые вы также можете использовать для обоснования своего решения:

cmd запись в текстовый файл

На чтение 6 мин. Просмотров 4k. Опубликовано

Вывод в файл txt результатов выполнения команды в cmd

Иногда возникает желание зафиксировать результат выполнения команды в cmd . Как правило , такое желание возникает , когда текст не помещается в окно командной строки ( cmd ).

Синтаксис для записи результата выполнения команды простой .

Команда_с_ключами > путь_к_файлу имя_файла.txt

То есть вначале пишется команда со всеми ключами и параметрами , а сразу после последнего символа ставиться символ > потом пробел и пишется путь и имя файла , в который будет сохранен результат . Результат будет сохранен в файл без вывода на экран . Файл сохраняется в кодировке DOS-866.

Для примера , выполним команду ping itindustry-spb.ru с записью на диск D в файл ping.txt

Для этого в командной строке выполняем команду ping itindustry-spb.ru > D: ping.txt

Ниже показан результат выполнения этой команды

Командная строка в операционной системе Windows довольно удобный инструмент, который позволяет делать многие вещи намного быстрее. Но она имеет один недостаток с ней нельзя работать также как с другими программами. Текстовый интерфейс требует знания специальных команд. В данной статье мы рассмотрим два способа сохранения вывода командной строки.

Часто возникает необходимость сохранить вывод из командной строки.

Способ № 1. Сохранения текста из командной строки в файл.

Если после команды добавить >> и ввести адрес текстового документа, то результаты выполнения данной команды будут сохранены в этом файле.

Например, вводим ipconfig /all >> d:cmd.txt и жмем ввод для выполнения команды. После того как команда будет выполнена в текстовом файле cmd.txt на диске d: будут сохранены все результаты. При этом в текст будет закодирован с помощью кодировки IBM CP866. Поэтому для того чтобы его открыть придётся использовать сторонние приложения, например программу Akelpad.

Способ № 2. Сохранение текста из командной строки в буфер обмена.

С помощью команды clip вывод командной строки можно направить в буфер обмена. Для этого после команды нужно добавить: | clip (пробел, вертикальная черта и команда clip) .

Например, вводим ipconfig /all | clip и жмем ввод для выполнения команды. Когда выполнение команды будет завершено, результаты будут помещены в буфер обмена. Для того чтобы воспользоваться этими результатами достаточно вставить текст в любом текстовом редакторе с помощью всем известной комбинации клавиш Cntrl+V.

Способ № 3. Скопировать текст из командной строки.

Последний способ позволяет сохранить не только результаты работы команды, но и всю остальную информацию из командной строки.

Чтобы это сделать кликаем правой кнопкой мышки по командной строке и вызываем контекстное меню. В открывшемся меню выбираем пункт «Пометить».

После этого выделяем текст в командной строке с помощью мышки и нажимаем на клавишу Enter. После нажатия на Enter выделение исчезнет, а текст будет скопирован в буфер обмена.

Командная строка — неизменный компонент любой операционной системы Windows, который берет свое происхождение прямиком от её предка — операционной системы MS-DOS. Данная программа имеет довольно широкие возможности, но сейчас мы поговорим о довольно примитивной вещи — сохранение (по факту — перенаправление) вывода командной строки в текстовый файл.

Описание

В случае, если необходимо просто сохранить все, что вывела командная строка в текстовый файл, то нужно после введенной команды добавить символ «>», что приведет к созданию текстового файла и весь вывод командной строки отправится туда. Пример:

Как видно, командная строка не вывела никакого результата введенной команды на экран, но зато сохранила все в файл ping.txt. К сожалению, существуют ограничения перенаправления вывода, которые не позволяют одновременно отображать вывод и в окне командной строки, и сохранять их в текстовый файл. Однако, можно воспользоваться хитростью — сразу по завершению выполнения команды вывести содержимое текстового файла на экран с помощью команды type. Получится что-то следующее:

Если требуется файл не записывать (существующий текстовый файл будет перезаписан), а дописывать (существующий текстовый файл будет дополнен), нужно вместо одного символа «>» использовать два — «>>».

Почитать о том, как сделать тоже самое в LinuxBSD системах можно в этой статье.

Другие статьи:

Комментарии:

У меня есть программа на Visual Studio C++ она выводит числа и текст,можно ли как-то сохранять все что выводит в текстовый документ?
Искал в интернете ничего не нашел про вывод в текстовый документ именно в C++.

Если у Вас программа в Visual Studio, то есть, вы обладаете её исходными кодами — то Вам нужно модифицировать её исходный код, добавив помимо вывода чисел и текста на экран, сохранение в текстовый файл.

А ещё такой вопрос. В Файл всё Сохраняется нечитабельно, можно исправить с помощью той же командной строки?

Самый простой вариант, который без проблем подойдет для большинства случаев — это сперва выполнить команду chcp 855 . Единственный минус — при этом все будет на английском.

Добрый день.
Тогда можно можно ещё и на ФТП грузить результат ?)

Можно, но для этого нужно будет лучше написать отдельную статью. Как руки дойдут — обязательно сделаю!

Не совсем понял про какие переменные для ping или systeminfo идет речь, поэтому лучше уточните, что именно вы хотите сделать.

Если же речь идет про переменные, вроде %COMPUTERNAME% , то их можно найти выполнив в командной строке команду set , либо по запросу «Переменные среды» в интернете.

ДА, лучше, благодарю. Напоследок, где поточнее можно почитать про другие переменные, которые может использовать тот же ping или systeminfo (нужно было для systeminfo), а то в хелпе к systeminfo описаны лишь несколько базовых операций, а про переменные ни слова.

А вам не проще будет использовать имена компьютеров в имени файлов отчета? Для этого используйте переменную %COMPUTERNAME% в названии файла, в который идет сохранение, например:

Подскажите, а как можно сохранять файл отчета с новыми номерами, чтобы они шли по порядку друг за другом?
То есть, я сохраняю файл отчета, то же самое проделывается на других машинах и все сохраняется в одну папку с одинаковым именем файла (потому что сделано через bat), как сделать, чтобы файл нумеровался и не заменялся.

Что подразумевается под общим диском? Если сетевой диск, то у него должна быть конкретная буква, под которой он смонтирован в системе, и нужно проделать все то же самое, о чем написано в статье:

ping 8.8.8.8 > Z: est.txt

Если под общим диском подразумевается сетевая «шара», то и тут нужно делать все тоже самое, например:

ping 8.8.8.8 > \serverupload est.txt

А возможно ли записать файл с результатом на общий диск?

Выполнить команду командной строки из Python

Необходимо выполнить команду командной строки из Python?

Если да, то в зависимости от ваших потребностей вы можете использовать любой из двух методов ниже для выполнения команды командной строки из Python:

(1) CMD / K — выполнить команду и остаться:

 импорт ОС
os.system ('cmd / k «Ваша команда командной строки»')
 

(2) CMD / C — выполнить команду, а затем завершить:

 импорт ОС
Операционные системы.system ('cmd / c "Ваша команда командной строки"')
 

Все еще не знаете, как применить вышеуказанные методы в Python?

Давайте рассмотрим несколько примеров, чтобы лучше понять, как выполнять команду командной строки из Python.

Методы выполнения команды командной строки из Python

Метод 1 (CMD / K): Выполните команду, а затем оставайтесь

Чтобы увидеть, как применить первый метод на практике, давайте рассмотрим простой пример, в котором мы выполним простую команду на Python для:

  • Показать текущую дату в командной строке
  • Командная строка останется открытой после выполнения команды

Затем вы можете применить следующий код в Python для достижения вышеуказанных целей:

 импорт ОС
Операционные системы.система ('cmd / k "date"')
 

После запуска кода на Python в командной строке появится дата:

Текущая дата: Пт 25.06.2021
Введите новую дату: (мм-дд-гг)

А что, если вы хотите выполнить нескольких команд командной строки из Python?

В этом случае вы можете вставить символ «&» (или другие символы, например, «&&») между командами.

Например, что, если вы хотите отобразить все символы в командной строке зеленым цветом. и отображают текущую дату?

Затем вы можете использовать следующий синтаксис в Python:

 импорт ОС
Операционные системы.system ('cmd / k "цвет и дата"')
 

Теперь вы увидите, что текущая дата отображается зеленым цветом:

Текущая дата: Пт 25.06.2021
Введите новую дату: (мм-дд-гг)

Обратите внимание, что для более сложных команд вам может быть полезно запустить командный файл из Python.

Метод 2 (CMD / C): выполнить команду, а затем завершить работу

Для этого метода вы можете выполнять те же команды, что и в первом методе, только на этот раз командная строка будет закрыта после выполнения команд.

Например, вы можете применить следующий код в Python, чтобы изменить цвет всех символов на зеленый:

 импорт ОС
os.system ('cmd / c "цвет a"')
 

В этом случае команда все равно будет выполнена, но вы не сможете увидеть ее на своем мониторе.

В общем, вы можете получить полезную легенду с дополнительной информацией, набрав команду ниже в командной строке:

 смд /?
 

Работа с файловыми системами | Документы Microsoft

  • Статья
  • .
  • 6 минут на чтение
Эта страница полезна?

Оцените свой опыт

да Нет

Любой дополнительный отзыв?

Отзыв будет отправлен в Microsoft: при нажатии кнопки «Отправить» ваш отзыв будет использован для улучшения продуктов и услуг Microsoft.Политика конфиденциальности.

Представлять на рассмотрение

В этой статье

При работе между файловыми системами Windows и Linux следует учитывать ряд факторов. Мы изложили некоторые из них для вас в этом руководстве, включая несколько примеров поддержки взаимодействия для смешивания команд Windows и Linux.

Хранение файлов и производительность в файловых системах

Мы не рекомендуем работать с файлами в разных операционных системах, если для этого нет особых причин. Для максимальной производительности храните файлы в файловой системе WSL, если вы работаете в командной строке Linux (Ubuntu, OpenSUSE и т. Д.). Если вы работаете в командной строке Windows (PowerShell, Командная строка), храните файлы в файловой системе Windows.

Например, при сохранении файлов проекта WSL:

  • Используйте корневой каталог файловой системы Linux: \\ wsl $ \ Ubuntu-18.04 \ home \ <имя пользователя> \ Project
  • Не корневой каталог файловой системы Windows: / mnt / c / Users / <имя пользователя> / Project $ или C: \ Users \ <имя пользователя> \ Project

Когда вы видите / mnt / в пути к файлу в командной строке WSL, это означает, что вы работаете с подключенного диска. Таким образом, файловая система Windows C: / drive ( C: \ Users \ <имя пользователя> \ Project ) будет выглядеть следующим образом при подключении в командной строке WSL: / mnt / c / Users / <имя пользователя> / Project $ .Файлы проекта можно хранить на смонтированном диске, но ваша производительность улучшится, если вы сохраните их непосредственно на диске \ wsl $ .

Просмотр текущего каталога в проводнике Windows

Вы можете просмотреть каталог, в котором хранятся ваши файлы, открыв проводник Windows из командной строки, используя:

  explorer.exe.
  

Также можно использовать команду: powershell.exe / c start. Не забудьте добавить точку в конце команды, чтобы открыть текущий каталог.

Чтобы просмотреть все доступные дистрибутивы Linux и их корневые файловые системы в проводнике файлов Windows, введите в адресной строке: \\ wsl $

Чувствительность к регистру имени файла и каталога

Чувствительность к регистру определяет, обрабатываются ли прописные (FOO.txt) и строчные (foo.txt) буквы как отдельные (с учетом регистра) или эквивалентные (без учета регистра) в имени файла или каталоге.Файловые системы Windows и Linux обрабатывают чувствительность к регистру по-разному — Windows нечувствителен к регистру, а Linux чувствителен к регистру. Узнайте больше о том, как настроить чувствительность к регистру, особенно при монтировании дисков с помощью WSL, в статье с практическими рекомендациями по настройке чувствительности к регистру.

Взаимодействие между командами Windows и Linux

Инструменты и команды Windows и Linux могут использоваться как взаимозаменяемые с WSL.

  • Запустите инструменты Windows (например, notepad.exe) из командной строки Linux (т.е.Ubuntu).
  • Запустите инструменты Linux (например, grep) из командной строки Windows (например, PowerShell).
  • Совместное использование переменных среды между Linux и Windows. (Сборка 17063+)

Запустите двоичные файлы Linux из командной строки Windows (CMD) или PowerShell, используя wsl (или wsl.exe ).

Например:

  C: \ темп> wsl ls -la
<- содержимое C: \ temp ->
  

Двоичные файлы, вызываемые таким образом:

  • Используйте тот же рабочий каталог, что и текущая командная строка CMD или PowerShell.
  • Запуск от имени пользователя WSL по умолчанию.
  • Иметь те же права администратора Windows, что и вызывающий процесс и терминал.

Команда Linux, следующая за wsl (или wsl.exe ), обрабатывается так же, как любая команда, выполняемая в WSL. Такие вещи, как sudo, конвейер и перенаправление файлов, работают.

Пример использования sudo для обновления вашего дистрибутива Linux по умолчанию:

  C: \ temp> wsl sudo apt-get update
  

Имя пользователя вашего дистрибутива Linux по умолчанию будет указано после выполнения этой команды, и вам будет предложено ввести пароль.После правильного ввода пароля ваш дистрибутив будет скачивать обновления.

Смешивание команд Linux и Windows

Вот несколько примеров смешивания команд Linux и Windows с помощью PowerShell.

Чтобы использовать команду Linux ls -la для вывода списка файлов и команду PowerShell findstr для фильтрации результатов по словам, содержащим «git», объедините команды:

  wsl ls -la | findstr "мерзавец"
  

Чтобы использовать команду PowerShell dir для вывода списка файлов и команду Linux grep для фильтрации результатов по словам, содержащим «git», объедините команды:

  C: \ temp> dir | wsl grep git
  

Чтобы использовать команду Linux ls -la для вывода списка файлов и команду PowerShell > out.txt , чтобы распечатать этот список в текстовый файл с именем «out.txt», объедините команды:

  C: \ temp> wsl ls -la> out.txt
  

Команды, переданные в wsl.exe , перенаправляются в процесс WSL без изменений. Пути к файлам необходимо указывать в формате WSL.

Чтобы использовать команду Linux ls -la для вывода списка файлов в пути к файловой системе Linux / proc / cpuinfo с помощью PowerShell:

  C: \ темп> wsl ls -la / proc / cpuinfo
  

Использование команды Linux ls -la для вывода списка файлов в C: \ Program Files путь к файловой системе Windows с помощью PowerShell:

  C: \ temp> wsl ls -la "/ mnt / c / Program Files"
  

WSL может запускать инструменты Windows непосредственно из командной строки WSL, используя [имя-инструмента].exe . Например, notepad.exe .

Приложения, запускаемые таким образом, имеют следующие свойства:

  • Сохранить рабочий каталог как командную строку WSL (по большей части — исключения описаны ниже).
  • Имеют те же права доступа, что и процесс WSL.
  • Запуск от имени активного пользователя Windows.
  • Отображается в диспетчере задач Windows, как если бы он был запущен непосредственно из командной строки CMD.

Исполняемые файлы Windows, выполняемые в WSL, обрабатываются аналогично собственным исполняемым файлам Linux — конвейерная обработка, перенаправления и даже фоновая работа работают должным образом.

Чтобы запустить инструмент Windows ipconfig.exe , используйте инструмент Linux grep для фильтрации результатов «IPv4» и используйте инструмент Linux cut для удаления полей столбца из дистрибутива Linux (например, Ubuntu ) введите:

  ipconfig.exe | grep IPv4 | вырезать -d: -f2
  

Давайте попробуем пример смешивания команд Windows и Linux. Откройте свой дистрибутив Linux (например, Ubuntu) и создайте текстовый файл: touch foo.txt . Теперь используйте команду Linux ls -la для вывода списка прямых файлов и деталей их создания, а также инструмент Windows PowerShell findstr.exe , чтобы отфильтровать результаты, чтобы в результатах отображался только файл foo.txt :

  ls -la | findstr.exe foo.txt
  
Инструменты

Windows должны включать расширение файла, соответствовать регистру файла и быть исполняемым. Неисполняемые файлы, включая пакетные сценарии. Собственные команды CMD, такие как dir , можно запустить с помощью команды cmd.exe / C .

Например, выведите список содержимого вашей файловой системы Windows C: \ directory, введя:

  см.exe / C каталог
  

Или используйте команду ping для отправки эхо-запроса на веб-сайт microsoft.com:

  ping.exe www.microsoft.com
  

Параметры передаются в двоичный файл Windows без изменений. Например, следующая команда откроет C: \ temp \ foo.txt в notepad.exe :

  notepad.exe «C: \ temp \ foo.txt»
  

Это тоже будет работать:

  notepad.exe C: \\ temp \\ foo.txt
  

Совместное использование переменных среды между Windows и WSL с помощью WSLENV

WSL и Windows совместно используют специальную переменную среды WSLENV , созданную для объединения дистрибутивов Windows и Linux, работающих на WSL.

Свойства переменной WSLENV :

  • Общий; он существует как в среде Windows, так и в среде WSL.
  • Это список переменных среды, которые будут совместно использоваться Windows и WSL.
  • Он может форматировать переменные среды для правильной работы в Windows и WSL.
  • Он может помочь в потоке между WSL и Win32.

Примечание

До 17063, только переменная среды Windows, к которой имел доступ WSL, была PATH (так что вы могли запускать исполняемые файлы Win32 из-под WSL).Начиная с 17063, начинает поддерживаться WSLENV . WSLENV чувствителен к регистру.

флаги WSLENV

В WSLENV доступны четыре флага, которые влияют на то, как переводится переменная среды.

WSLENV флаги:

  • / p — переводит путь между путями стиля WSL / Linux и путями Win32.
  • / l — указывает, что переменная среды представляет собой список путей.
  • / u — указывает, что эта переменная среды должна быть включена только при запуске WSL из Win32.
  • / w — указывает, что эта переменная среды должна быть включена только при запуске Win32 из WSL.

Флаги можно комбинировать по мере необходимости.

Узнайте больше о WSLENV, включая ответы на часто задаваемые вопросы и примеры установки значения WSLENV на конкатенацию других предварительно определенных переменных среды, каждая из которых имеет суффикс косой черты, за которым следуют флаги, чтобы указать, как значение должно быть преобразовано, и передачу переменных с помощью сценария. В этой статье также содержится пример настройки среды разработки с языком программирования Go, настроенной для совместного использования GOPATH между WSL и Win32.

Отключить взаимодействие

Пользователи могут отключить возможность запуска инструментов Windows для одного сеанса WSL, выполнив следующую команду от имени пользователя root:

  эхо 0> / proc / sys / fs / binfmt_misc / WSLInterop
  

Чтобы снова включить двоичные файлы Windows, выйдите из всех сеансов WSL и повторно запустите bash.exe или выполните следующую команду от имени пользователя root:

  эхо 1> / proc / sys / fs / binfmt_misc / WSLInterop
  

Отключение взаимодействия не будет сохраняться между сеансами WSL — взаимодействие будет снова включено при запуске нового сеанса.

Интерфейс командной строки | CLion

Каталог установки содержит пакетные сценарии и исполняемые файлы для запуска CLion, форматирования исходного кода и выполнения проверок. Чтобы использовать их из командной строки cmd.exe, добавьте расположение папки bin CLion в переменную среды PATH . Например, если вы установили CLion в C: \ Program Files \ JetBrains \ CLion, вы можете использовать следующую команду:

установить PATH =% PATH%; C: \ Program Files \ JetBrains \ CLion \ bin

Эта команда изменяет переменную среды PATH только для текущей оболочки (текущий экземпляр cmd.EXE). Если вы хотите обновить его навсегда для текущего пользователя, запустите setx :

setx PATH «% PATH%; C: \ Program Files \ JetBrains \ CLion \ bin»

Чтобы обновить его в масштабе всей системы для всех пользователей, запустите setx / M вместо setx .

Программа установки может сделать это за вас, если вы выберете Добавить каталог запуска в ПУТЬ на шаге Параметры установки мастера установки.

После настройки переменной PATH вы можете запустить исполняемый файл из любого рабочего каталога в командной строке: clion64.exe . В качестве альтернативы вы можете использовать пакетный сценарий: clion.bat .

Чтобы запустить CLion из оболочки, используйте команду open со следующими параметрами:

  • -a : укажите приложение.

  • --args : укажите дополнительные аргументы при передаче не только файла или каталога для открытия.

  • -n : открыть новый экземпляр приложения, даже если он уже запущен.

Например, вы можете запустить CLion.app с помощью следующей команды:

open -na «CLion.app»

Если CLion отсутствует в каталоге default / Applications, укажите полный путь к нему.

С помощью этой команды можно создать сценарий оболочки в каталоге из переменной среды PATH . Например, создайте файл / usr / local / bin / clion со следующим содержимым:

#! / bin / sh open -na «CLion.app «—args» $ @ »

Убедитесь, что у вас есть разрешения на выполнение сценария, и поскольку / usr / local / bin по умолчанию должен находиться в переменной среды PATH , вы должны иметь возможность запускать clion из любого места в оболочке.

В Linux каталог установки содержит сценарий оболочки запуска clion.sh в bin. Например, если вы установили CLion в / opt / clion, вы можете запустить сценарий, используя следующую команду:

/ opt / clion / bin / clion.ш

Вы можете создать символическую ссылку на сценарий запуска в каталоге из переменной среды PATH . Например, если вы установили CLion в / opt / clion и хотите создать ссылку с именем clion в / usr / local / bin, выполните следующую команду:

ln -s /opt/clion/bin/clion.sh / usr / local / bin / clion

Поскольку / usr / local / bin по умолчанию должен находиться в переменной среды PATH , вы должны иметь возможность запускать команду clion из любого места в оболочке.| findstr «STATE» ‘) do if «% H» == «STOPPED» exit / B 1 »

Или в вашем цикле для команды цикла "sc query JBossEAP7 | findstr" STATE "" :

  cmd / C для / f "tokens = 3 delims =:"% H in ('"sc query JBossEAP7 | findstr" STATE ""') делать, если "% H" == "STOPPED" exit / B 1
  

  • Вы также можете использовать другой вариант, чтобы сделать то же самое, используя оператор && :
  cmd / c sc query JBossEAP7 | findstr СОСТОЯНИЕ.* ОСТАНОВЛЕН  &&  exit / b 1

cmd / c "sc query JBossEAP7 | findstr STATE. * STOPPED  &&  exit / b 1"

cmd / csc query JBossEAP7 | findstr STATE. * STOPPED  &&  exit / b 1 "

cmd / c | (sc query JBossEAP7 | find "STOPPED"  &&  exit / b 1)

cmd / c | sc запрос JBossEAP7 | найти "ОСТАНОВЛЕН"  &&  exit / b 1

cmd / c "sc query JBossEAP7 | find" STOPPED " &&  exit / b 1"

cmd / c | sc query JBossEAP7 | find "STOPPED"  &&  exit / b 1  

Обс.: Команда findstr STATE . * STOPPED найдет в той же строке, где у вас:

  rem ::  СОСТОЯНИЕ    +    One_or_More_Characters    +    ОСТАНОВЛЕН   
  >  sc запрос vds
SERVICE_NAME: vds
        ТИП: 10 WIN32_OWN_PROCESS
          СОСТОЯНИЕ: 1 ОСТАНОВЛЕН 
        WIN32_EXIT_CODE: 1077 (0x435)
        SERVICE_EXIT_CODE: 0 (0x0)
        КОНТРОЛЬНАЯ ТОЧКА: 0x0
        WAIT_HINT: 0x0

 >  sc запрос vds | findstr   ГОСУДАРСТВО.* ОСТАНОВЛЕН  
          СОСТОЯНИЕ : 1  ОСТАНОВЛЕНА 

                | ---------------------- |    ГОСУДАРСТВЕННЫЙ  + . *  +  ОСТАНОВЛЕН   

  rem :: Пропуск вывода  > nul   и использование конца  E   nd Of Line  в findstr  / e    STOPPED    
  >  sc запрос vds | findstr   / e ОСТАНОВЛЕНА    > nul  
        СОСТОЯНИЕ: 1  ОСТАНОВЛЕНА   


Как интерпретатор команд Windows cmd.Сценарии синтаксического анализа exe

Практическое руководство: escape-символы, разделители и кавычки в командной строке Windows

PsExec — Выполнить процесс удаленно — Windows CMD

PsExec — Выполнить процесс удаленно — Windows CMD — SS64.com

Выполнить процесс командной строки на удаленном компьютере.

 Синтаксис
      psexec \\  компьютер  [,  компьютер  [, ..] [ параметры ]  команда  [ аргументы ]

      psexec @  run_file  [ параметры ]  команда  [ аргументы ]

Опции:

     компьютер  Компьютер, на котором psexec выполнит команду  .По умолчанию = локальная система
              Для запуска на всех компьютерах в текущем домене введите "\\ *"
               
   @  run_file  Запустить команду   на каждом компьютере, указанном в указанном текстовом файле.

     команда  Имя программы, выполняемой на удаленном компьютере.

     аргументов  передаваемых аргументов (пути к файлам должны быть абсолютными в целевой системе)

   -a  n ,  n , ... Установить привязку процессора к  n .Процессоры имеют номера 1,2,3,4 и т. Д.
              поэтому для запуска приложения на ЦП 2 и ЦП 4 введите: "-a 2,4"

   -c Скопировать программу (, команда ) в удаленную систему для выполнения.
   -c -f Копировать, даже если файл уже существует в удаленной системе.
   -c -v Копировать, только если файл более поздней версии или новее, чем удаленная копия.

   Если вы не укажете параметр -c, приложение должно находиться в системном пути удаленной системы.-d Не ждать завершения работы приложения.
              Используйте только для неинтерактивных приложений.

   -e НЕ загружать профиль указанной учетной записи.
              (В ранних версиях PSEXEC: загружайте профиль учетной записи пользователя, не используйте с -s)

   -f Копировать указанную программу, даже если файл уже существует в удаленной системе.

   -h Запуск с повышенным токеном учетной записи, если он доступен. (Vista или выше)

   -i Interactive - запустить программу, чтобы она взаимодействовала с рабочим столом удаленной системы.Если сеанс не указан, процесс выполняется в сеансе консоли.

   -l Limited - запустить процесс от имени пользователя с ограниченными правами. Работайте с низкой целостностью.
              Удаляет группу администраторов и разрешает только привилегии, назначенные группе пользователей.

   -n  с  Укажите тайм-аут ( с  секунд) для подключения к удаленному компьютеру.

   -p  psswd  Укажите пароль для  пользователя  (необязательно). Передано как открытый текст.Если он не указан, вам будет предложено ввести скрытый пароль.

   -r Имя удаленной службы, которую нужно создать или с которой нужно взаимодействовать.

   -s Запускать удаленный процесс в учетной записи SYSTEM (используйте с осторожностью).

   -u  пользователь  Укажите имя пользователя для входа на удаленный компьютер (необязательно).

   -v Копировать указанный файл только в том случае, если он имеет более высокий номер версии или новее
              чем в удаленной системе.-w  каталог  Установить рабочий каталог процесса (относительно удаленного компьютера).

   -x Показать пользовательский интерфейс на рабочем столе Winlogon (только в локальной системе).

   -низкое, -ниже нормальное, -абовенормальное, -высокое или -реальное время
              Эти параметры запустят процесс с другим приоритетом.
              также -background (Vista и выше) будет работать с низким объемом памяти и приоритетом ввода-вывода.

   -accepteula Подавить отображение диалогового окна лицензии.

Для работы PsExec необходимо включить Общий доступ к файлам и принтерам на удаленном компьютере. Это можно сделать с помощью netsh advfirewall или групповой политики (Политика локального компьютера> Конфигурация пользователя> Административные шаблоны> Компоненты Windows> Общий доступ к сети)
Вам также может потребоваться включить его в разделе «Панель управления»> «Сеть»> «Сетевой адаптер»> «Свойства».

Если вы опустите имя пользователя, удаленный процесс будет запускаться под той же учетной записью, из которой вы запускаете PsExec, но поскольку удаленный процесс олицетворяет его, он не будет иметь доступа к сетевым ресурсам в удаленной системе.

Когда вы указываете имя пользователя, удаленный процесс будет выполняться в этой учетной записи и будет иметь доступ к сетевым ресурсам этой учетной записи. Если вы укажете альтернативное имя пользователя / пароль, PsExec отправит пароль для входа в виде открытого текста. Это может представлять угрозу безопасности, если неавторизованные сетевые анализаторы могут перехватить трафик между локальной и удаленной системой.

PsExec можно использовать для запуска приложений с графическим интерфейсом пользователя, но в этом случае графический интерфейс появится на удаленной машине.

Ввод передается в удаленную систему, когда вы нажимаете клавишу ввода — нажатие Ctrl-C завершит удаленный процесс.

PsExec не требует, чтобы вы были администратором локальной файловой системы, с правильным паролем psexec позволит UserA запускать команды как UserB — замена Runas.

Если вы убиваете процесс PsExec, вам также может потребоваться вручную удалить фоновую службу:
sc.exe \\ workstation64 удалить psexesvc

PsExec также может использоваться для запуска процесса (на удаленном или локальном компьютере) как СИСТЕМА, это очень привилегированная учетная запись, аналогичная учетной записи root на машине UNIX ~ используйте с особой осторожностью.

Принять eula

При первом запуске PsExec создаст ключ реестра лицензий:
HKCU \ Software \ Sysinternals \ PsExec \ EulaAccepted = 0x01

Psexec проглотит первую «-accepteula» в командной строке, независимо от того, где она встречается, поэтому при использовании psexec для запуска любых других утилит ps * вам придется дважды передать «-accepteula»:

psexec -accepteula -s c: \ utils \ pslist.exe -accepteula

Заключите любые длинные имена файлов в кавычки

Коды ошибок, возвращаемые PsExec, относятся к выполняемым вами приложениям, а не к PsExec.

Внутренние команды

Внутренние команды (такие как COPY, CD, DIR и т. Д.) Доступны только в оболочке CMD. Чтобы запустить эти команды из PsExec, вы должны вызвать CMD / C, а затем передать команды в качестве параметров — см. Примеры ниже.

Примеры:

Запустите интерактивную командную строку на \\ workstation64, окно подсказки CMD появится локально:
(Это эквивалентно PowerShell: New-PSSession ServerName ; Start-PSSession ServerName )

C: \> PSEXEC \\ рабочая станция64 CMD

Запустите интерактивную командную строку с повышенными правами на \\ workstation64, ее необходимо запустить из локальной командной строки с уже повышенными правами:

C: \> PSEXEC \\ workstation64 -h CMD

Запустите интерактивную командную строку PowerShell с повышенными привилегиями на \\ workstation64, ее необходимо запустить из локальной командной строки с уже повышенными правами:

C: \> PSEXEC \\ workstation64 -h powershell

Выполнить программу, которая уже установлена ​​в удаленной системе:

C: \> PSEXEC \\ workstation64 «c: \ Program Files \ test.exe «

Подключитесь к workstation64 и запустите IPCONFIG для отображения IP-адреса удаленного ПК:

C: \> PSEXEC \\ workstation64 ipconfig

Подключитесь к workstation64 и укажите каталог:

C: \> PSEXEC \\ workstation64 -s cmd / c каталог c: \ work

Подключитесь к workstation64 и скопируйте файл с другого сервера:

C: \> PSEXEC \\ workstation64 -s cmd / c copy \\ server21 \ share45 \ file.ext c: \ localpath

Выполните IpConfig в удаленной системе и отобразите результат локально:

C: \> PSEXEC \\ workstation64 ipconfig / all

Скопируйте программу test.exe в удаленную систему и запустить его в интерактивном режиме под учетной записью DannyGlover:

C: \> PSEXEC \\ workstation64 -c test.exe -u DannyGlover -p Pa55w0rd

Запустите Internet Explorer на локальном компьютере, но с ограниченными правами пользователя:

C: \> PSEXEC -l -d «c: \ program files \ internet explorer \ iexplore.exe»

Запустите Regedit на локальном компьютере с правами SYSTEM:

C: \> PSEXEC -s -i regedit.exe

Из PowerShell запустите VBscript на удаленной рабочей станции, передайте некоторые параметры и запишите результат:

$ script = ‘C: \ Program Files \ demo.vbs ‘
$ args = «еще кое-что»
& PSEXEC -s \\ workstation64 «c: \ windows \ system32 \ cscript.exe» $ script $ args / log ‘C: \ logs \ demo.txt’

«Не спрашивайте, что нужно миру. Спросите, что заставляет вас оживать, и делайте это. Потому что миру нужны люди, которые ожили »- Говард Турман

Связанные команды:

Q942817 — Настройка Remote UAC LocalAccountTokenFilterPolicy (разрешить удаленное администрирование)
RUNAS — Выполнение программы под другой учетной записью пользователя.
xCMD — Сторонняя утилита.
Эквивалентная команда PowerShell: Invoke-Command
Эквивалентная команда bash (Linux): xon — запустить X-программу на удаленном компьютере.


Авторские права © 1999-2021 SS64.com
Некоторые права защищены.

Запуск многострочного кода оболочки одновременно из одного запроса

1. Обзор

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

В этом руководстве мы рассмотрим различные методы запуска многострочных команд из одной командной строки.

2. Методы многострочного кода

Мы можем использовать несколько техник, например:

  • Сегментирование с обратной косой чертой в конце строки
  • В скобках
  • Заключение в фигурные скобки
  • Использование тега EOF
  • Использование оператора двойного амперсанда ( && ) или точки с запятой (; )
  • И что надежнее всего, написание скрипта

Давайте подробно рассмотрим каждую из них.

2.1. Использование обратной косой черты

Обратная косая черта ( \ ) — это escape-символ, который указывает оболочке не интерпретировать следующий символ. Если следующий символ — это новая строка, оболочка считает, что оператор не достиг своего конца. Это позволяет оператору занимать несколько строк.

Это полезный метод, который разделяет длинные команды на читаемые операторы, содержащиеся в окне сеанса оболочки.

Обратные косые черты также разбивают операторы команд на понятные части.Следовательно, они могут быть полезны при разбиении сложной команды на отдельные операции. Обратная косая черта даже позволяет нам выполнять несколько команд в нескольких строках из одного приглашения.

Давайте посмотрим на пример использования обратной косой черты для сегментации длинной сложной команды:

  $ найти / etc -exec grep \
> '[0-9] [0-9] * [.] [0-9] [0-9] \
> * [.] [0-9] [0-9] * [0-9] [0-9] * '{} \;  

2.2. В скобках

Круглые скобки создают подоболочку внутри основного сеанса оболочки и запускают список команд внутри этой подоболочки.Несмотря на то, что подоболочка импортирует переменные из основного сеанса оболочки, она не экспортирует новые переменные, созданные в ней, а ограничивает их использование в пределах своей собственной области действия.

Эти новых переменных перестают существовать, когда подоболочка завершает свое выполнение . Следовательно, даже без объявления переменной подоболочка может запускать несколько команд из одной командной строки .

Давайте посмотрим на пример подоболочки в скобках:

  $ а = 45
$ b = 23
$ (
> c = `выражение $ a + $ b`
> эхо $ c
> d = `выражение $ c + $ a`
> эхо $ d
>)  
  68
113
$ echo $ d
 
$ echo $ c
 
$  

Мы видим, что переменные, объявленные внутри подоболочки, пусты во внешней оболочке.

2.3. Фигурные скобки

Фигурные скобки {} обычно используются в командах оболочки для построения массивов или расширения параметров. Однако мы также можем запустить набор команд из одного приглашения, заключив их в фигурные скобки .

В отличие от скобок, которые запускают подоболочку, фигурные скобки запускают эти команды в текущей среде оболочки .

Это означает не только то, что экспортируемые переменные основного сеанса оболочки доступны для раздела в фигурных скобках; команды в фигурных скобках также экспортируют свои переменные в основной сеанс оболочки :

  $ а = 60
$ b = 45
$ {
> c = `выражение $ a + $ b`
> эхо $ c
> d = `выражение $ c + $ a`
> эхо $ d
>}  
  105
165
$ echo $ c
105
$ echo $ d
165  

Мы видим, что переменные, объявленные в фигурных скобках, все еще активны вне их.

2.4. Использование тега

EOF

В то время как EOF является текстом по умолчанию для этого метода, Here Tag или Here Document является официальным названием. Этот тег инструктирует среду оболочки читать все вводимые данные до тех пор, пока не будет достигнут тот же разделитель или тег. Среда оболочки может быть любой из известных оболочек Linux, то есть bash , sh , csh , tcsh , zsh или ksh .Следовательно, если слово является тегом Здесь , оболочка будет читать весь ввод, перенаправленный на него, пока снова не появится слово .

Примечание. Мы не можем присвоить значения переменным в Here Tags , но мы можем обрабатывать импортированные переменные.

Давайте посмотрим на пример:

  $ а = 50
$ b = 60
$ sh << слово
> echo "Уравнение: a + b = 110"
> эхо $ (($ a + $ b))
> эхо ""
> echo "Внутри тега, присвоение c = 110"
> c = `выражение $ a + $ b`
> эхо $ c
> слово
  
  Уравнение: a + b = 110
110

Внутри тега здесь, присвоение c = 110

$ echo "Тег снаружи, назначение c = 110"
$ echo $ c
  

Мы видим, что новая переменная c не получила значения, несмотря на обработку той же арифметической операции до нее.

Исторически по умолчанию используется текст EOF — сокращение от «Конец файла» , которое подходит для такой деятельности. STOP также широко используется, хотя EOF является более популярным и информативным.

Мы можем использовать любое слово, аббревиатуру или синтаксис в качестве разделителя . Однако разумнее будет придерживаться EOF или STOP . Они очевидны для этого метода, и спутать их с другими командами маловероятно.

Давайте посмотрим на пример с использованием EOF ( Здесь ) тега , перенаправленного на оболочку Bash :

  $ а = 50
$ b = 60
$ bash << EOF
> эхо $ (($ a + $ b))
> EOF  
  110
  

Давайте теперь посмотрим на тот же пример, но с перенаправлением на оболочку Bourne :

  $ а = 50
$ b = 60
$ sh << EOF
> эхо $ (($ a + $ b))
> EOF  
  110  

Мы видим, что синтаксис и результаты совпадают.

2,5. Использование двойного амперсанда

Двойной амперсанд ( && ) — это логический оператор, который позволяет команде выполняться тогда и только тогда, когда предыдущая команда или оператор были выполнены без ошибки . Этот оператор полезен при работе с последовательными командами, результаты которых определяют выполнение следующей.

Оператор && часто используется для объединения задач после выпуска cd . Следовательно, оператор && еще более полезен для сокращения набора текста и оптимизации нашей логики:

  $ echo "Начало грядущего хорошего"> ThingsHeard.текст &&
> кот ThingsHeard.txt &&
> echo "Еще важнее, что нужно сделать" >> ThingsHeard.txt &&
> кот ThingsHeard.txt &&
> cd txt &&
> echo "каталог txt не существует" &&
> echo "Эти две последние строчки не появятся"  
  Начало грядущего хорошего
Начало хороших событий
Более того, что нужно сделать
bash: cd: txt: Нет такого файла или каталога  

Мы видим, что последующие команды остались необработанными после обнаружения ошибочного оператора.

2.6. Использование точки с запятой

Точка с запятой (; ) аналогична оператору && в том, что определяет список последовательных команд. Однако точка с запятой является разделителем команд, а не смежным оператором. Позволяет выполнять набор последовательно перечисленных команд независимо от результата предыдущих . Поэтому точка с запятой полезна, когда команды не зависят друг от друга :

  $ cd doc; cd txt; echo "каталог txt не существует"; echo "Последовательные команды не беспокоят"  
  bash: cd: txt: Нет такого файла или каталога
txt не существует
последовательные команды не беспокоят  

Обратите внимание, что все команды были выполнены, несмотря на ошибочный оператор.

2,7. Комбинирование методов

Каждый из методов, которые мы обсуждали до этого момента, имеет свои преимущества и ограничения. Однако , объединив некоторые или все эти методы, мы можем преодолеть их ограничения . Например:

  • ( &&) и (; ) могут выполнять многострочный код, который запускает команды, которые являются зависимыми, а затем независимыми от предыдущих операторов
  • Подоболочка может включать команды, перечисленные в фигурных скобках или тег EOF
  • Фигурные скобки могут включать подоболочку и / или EOF тег
  • Тег EOF может включать подоболочки и фигурные скобки
  • Подоболочка может содержать в себе другую подоболочку
  • Фигурные скобки могут использоваться вместе с другими фигурными скобками
  • Тег EOF может включать другие теги EOF

Также отметим, что есть и некоторые ограничения:

  • Все остальные техники могут вложить обратную косую черту
  • Однако метод обратной косой черты не может включать в себя другие методы, кроме двойного амперсанда ( && )
  • Тег Здесь ( EOF ) может импортировать переменные только из самого непосредственного сеанса оболочки .Следовательно, если мы вложим тег Here в фигурные скобки или подоболочку, он будет импортировать переменные из этих сеансов. Он не будет импортировать из любого другого предыдущего сеанса, включая основной сеанс оболочки
  • .

Давайте посмотрим на пример вложенного многострочного кода:

  $ а = 20
$ b = 15
$ {
> c = `выражение $ a + $ b`
> эхо $ c
> echo -e "\ nПример использования обратной косой черты \
> в фигурных скобках как вложенный многострочный код. "
>
> (
> d = `выражение $ c + $ a`
> эхо $ d
>
> sh << EOF
>
> эхо $ (($ c + $ b))
>
> cd txt &&
> echo -e "\ n txt каталог не существует, поэтому \
> это заявление отображаться не будет."
>
> EOF
>)
>
> echo -e "\ nПоскольку переменная d была объявлена ​​в подоболочке \
> будет ли он отображаться вне подоболочки? Посмотрим:"
>
> эхо $ d
>
> эхо "Нет, не было"
>
> echo -e "\ nПечатает ли переменная e? \
> Он был вложен в тег Here, внутри \
> вспомогательная оболочка ".
>
> эхо $ e
>
> bash << EOF
>
> {
> cd doc &&
> эхо «Еще большие возможности». >> ThingsHeard.txt &&
> Кот Вещи слышал.текст
> (
> echo -e "\ nВложенный оператор обратной косой черты \
> в подоболочке, в фигурных скобках ".
>
> cd txt;
>
> echo -e "\ nДаже если каталог txt не существует, \
> этот оператор будет по-прежнему печататься, так как предыдущая команда \
> был разделен точкой с запятой (;) ".
>
>)
>}
> EOF
>}
  

Давайте посмотрим на вывод этих команд:

  35

Пример использования обратной косой черты в фигурных скобках в качестве вложенного многострочного кода.55
50
sh: 5: cd: не могу cd to txt

Поскольку переменная d была объявлена ​​в подоболочке, будет ли она отображаться вне подоболочки? Посмотрим:

Нет, это не так

Будет ли печататься переменная e? Он был вложен в тег Here, внутри вспомогательной оболочки.


Начало хороших событий
Более того, возможности.

Вложенный оператор обратной косой черты в подоболочке в фигурных скобках.
bash: строка 11: cd: txt: нет такого файла или каталога

Несмотря на то, что каталог txt не существует, этот оператор все равно будет печататься, поскольку предыдущая команда была разделена точкой с запятой (;). 

2,8. Написание сценария оболочки

Наконец, лучший метод для запуска многострочного кода оболочки — это создание сценариев. Используя сценарии оболочки, мы можем редактировать и настраивать наши команды, не переписывая их. Кроме того, они позволяют нам использовать принцип «одна запись — много раз» для повторяющихся задач. Кроме того, сценарии — лучший вариант, когда мы имеем дело с командами со сложным синтаксисом или логикой .

Конечно, мы можем использовать ранее упомянутые приемы в сценарии.Давайте посмотрим на пример скрипта, содержащего многострочный код:

  #! / Bin / bash

#################################################################################
# Это сценарий, в котором используется многострочный #
# методы внутри него #
#################################################################################

a = $ RANDOM
b = $ СЛУЧАЙНО

{

c = `expr $ a + $ b`
эхо $ c

echo -e "\ nПример многострочного кода с обратной косой чертой \
в скрипте. \ n "

(
d = `выражение $ c + $ a`
эхо $ d

эхо

cd doc &&

кот ThingsHeard.txt

эхо

cd txt;

echo -e "\ n txt каталог не существует \
но следующая команда все равно будет выполняться, потому что \
точка с запятой используется как разделитель.\ n "

кот ThingsHeard.txt

)

bash << EOF

echo -e "\ nA Вот пример многострочного кода \
заключены в фигурные скобки в скрипт ".

EOF

}
  

Давайте посмотрим на пример приведенного выше скрипта, заключенного в фигурные скобки:

  $ {
> а = 8
> b = 9
> t = `выражение $ a + $ b`
> эхо $ t
> эхо
> ./multiline.sh
>}  

Теперь посмотрим на результат:

  17

37302

Пример многострочного кода с обратной косой чертой в сценарии.

53464

Начало хороших событий
Более того, возможности../multiline.sh: строка 31: cd: txt: Нет такого файла или каталога

 txt не существует, но следующая команда все равно будет выполняться, потому что точка с запятой используется в качестве разделителя.

Начало хороших событий
Более того, возможности.

Пример многострочного кода Here tag, вложенного в фигурные скобки в скрипте.  

3. Заключение

Linux примечателен множеством способов выполнения задачи или желаемой операции. Это, безусловно, очевидно по множеству способов, которыми одна командная строка может выполнять многострочные коды.

В этой статье мы увидели, как обратная косая черта позволяет нам расширять команды до новых строк. Затем мы узнали, как с помощью круглых скобок создается подоболочка, которая ограничивает только что объявленные переменные самой собой. Мы также узнали, что, используя фигурные скобки, мы можем экспортировать недавно объявленные переменные в основной сеанс оболочки. Как мы видели, EOF ( Здесь ) tag - это многострочный метод с возможностью перенаправления ввода в различные оболочки.

Мы узнали, что оператор двойного амперсанда является логическим оператором, который позволяет последовательным командам выполняться только после положительного выполнения предыдущих команд.Затем мы увидели, что использование точки с запятой позволяет нам запускать команды последовательно независимо от их возвращаемых состояний.

Наконец, мы увидели, как комбинировать эти методы, и узнали, что использование скриптов - лучший способ выполнения сложного многострочного кода оболочки.

Авторы Внизу

Если у вас есть несколько лет опыта работы в экосистеме Linux, и вы заинтересованы в том, чтобы поделиться этим опытом с сообществом, ознакомьтесь с нашими Правилами участия .

Первые шаги с ROOT - ROOT

Примечание

Прежде чем вы сможете использовать ROOT, у вас должна быть работающая установка ROOT.→ См. Руководство по установке.

Работа с интерактивным ROOT-сеансом

Запуск и выход из ROOT

ROOT можно запустить из командной строки. Для этого наберите:

  $ root  

и отображается приглашение ROOT:

  ------------------------------------------------ ------------------
  | Добро пожаловать в ROOT 6.22 / 02 https://root.cern |
  | (c) 1995-2020, Команда ROOT; зачатие: R.Брун, Ф. Радемакерс |
  | Создано для macosx64 17 августа 2020 г., 12:46:52 |
  | Из тегов / v6-22-02 @ v6-22-02 |
  | Попробуйте '.help', '.demo', '.license', '.credits', '.quit' / '. Q' |
   -------------------------------------------------- ----------------

корень [0]
  

Чтобы отобразить список команд ROOT, введите .help :

Чтобы выйти из приглашения ROOT, введите .q :

Параметры командной строки

Это некоторые параметры командной строки, которые вы можете использовать при запуске ROOT:

-b : ROOT-сеанс выполняется в пакетном режиме без графического отображения.Этот режим полезен, если вы не хотите устанавливать ДИСПЛЕЙ.

-n : не выполняет сценарий входа в систему и сценарий выхода, как указано в .rootrc .

-q : Выход после обработки файлов макросов командной строки.

-l : Баннер ROOT не отображается.

-a : Отображает заставку ROOT.

-x : Выход по исключению.

dir : Если dir является допустимым каталогом, перейдите в него ( cd ) перед выполнением ROOT.

-? , -h , --help : Печать использования.

-config : выводит параметры конфигурации cmake .

Запуск кода C ++

ROOT использует интерактивный интерпретатор C ++ Cling, который построен на основе L ow L evel V irtual M achine (LLVM) и библиотеки Clang. Cling предоставляет командную строку и JIT-компилятор для компиляции.
Для получения дополнительной информации о цепочке → см. «Цепляние».

Примечание

Cling обеспечивает взаимодействие с пользователем, близкое к типичному интерпретатору, например IPython. Поэтому, в отличие от чистого языка C ++, точка с запятой (; ) в конце строки не требуется.

Простые команды

ROOT можно использовать для выполнения простых команд в приглашении ROOT. Каждая команда, вводимая в командной строке ROOT, сохраняется в файле .root_hist в вашем домашнем каталоге.

Примеры

Простые операции:

  корень [0] 21 + 21
(int) 42  
  корень [1] sqrt (42)
(двойной) 6.4807407  

Операторы отношения:

  корень [2] 42> 98
(bool) false  

Вызов функции из класса ROOT, например TMath :: Pi :

  корень [3] TMath :: Pi ()
(двойной) 3,1415927  
Многострочные команды

ROOT можно использовать для выполнения многострочных команд в приглашении ROOT.

  1. Чтобы запустить многострочную команду, введите в командной строке ROOT: {

  2. Введите по одной команде в каждой строке.

  3. Чтобы завершить многострочную команду, введите: }

Пример

  корень [0] {
корень [1] int j = 0;
корень [2] для (int i = 0; i <3; i ++)
root [3] {
корень [4] j = j + i;
корень [5] std :: cout << "i =" << i << ", j =" << j << std :: endl;
корень [6]}
корень [7]}
я = 0, j = 0
я = 1, j = 1
i = 2, j = 3  

Вы также можете записать команды в файл, называемый ROOT-макросом, а затем выполнить и скомпилировать его.Для получения дополнительной информации о макросах ROOT → см. Макросы ROOT и общие библиотеки.

Специальные команды интерпретатора

ROOT предоставляет набор команд для выполнения специальных действий из приглашения ROOT. Все они начинаются с точки:

.

.? : Предоставляет список всех команд.

.! : Доступ к оболочке операционной системы. Например, .! Ls или .! Pwd .

.x <имя_файла> : выполняет макрос ROOT.

.U <имя_файла> : выгружает файл.

.L <имя_файла> : загружает ROOT-макрос или библиотеку.

.L <имя_файла> + : Компилирует макрос ROOT.

.help : Предоставляет список всех команд.

.class : перечисляет доступные классы ROOT.

.class X : показывает, что cling знает о классе X .

.files : показывает все загруженные файлы.

.include : Показывает пути включения.

.I path : Добавляет включаемый путь.

ROOT также предоставляет множество инструментов командной строки в командной строке для простых операций с файлами или автоматизации общих операций, выполняемых над классами ROOT. → См. Инструменты командной строки ROOT

Использование ROOT из Python

ROOT предоставляет привязки Python, называемые PyROOT, которые позволяют получить доступ ко всем функциям ROOT C ++ из Python.

Следовательно, ROOT можно использовать в интерактивном режиме из командной строки Python.Первый шаг заключается в импорте модуля ROOT:

  $ питон
>>> import ROOT  

После этого мы можем использовать ROOT, как мы это делали в C ++. Глобальное пространство имен C ++ доступно через модуль ROOT, например:

  >>> ROOT.TMath.Pi ()
3.141592653589793  

Учебники ROOT

Учебные пособия по

ROOT доступны в Интернете на странице учебного пособия «Справочное руководство».

Кроме того, когда вы устанавливаете ROOT, создается каталог обучающих программ , содержащий все обучающие программы ROOT.

Начнем с простого учебника

Хорошее руководство для начала - df000_simple.C , который показывает простое использование RDataFrame . Чтобы выполнить его, введите в командной строке ROOT:

  корень [0] .x df000_simple.C
  

В результате должно появиться окно с графиком гистограммы.

Это же руководство также доступно на Python → df000_simple.py .

Более подробное введение в RDataFrame можно найти → здесь.

Просмотр остальных руководств

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

Учебники написаны на C ++, Python или на обоих языках. Например, следующее руководство по фрейму данных доступно на обоих языках:

Кроме того, некоторые учебные пособия также публикуются в виде блокнотов Jupyter. В этом случае под ссылкой на руководство есть две кнопки для открытия записной книжки статически ( Просмотр записной книжки ) или в SWAN ( Открыть в SWAN ). Обратите внимание, что SWAN - это онлайн-сервис для ноутбуков, для которого требуется учетная запись в CERN.

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *