Для запуска программы через командную строку необходимо задать параметр “Вкл”

Как запустить программу из командной строки?

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

Параметры команд и получение помощи

Прежде чем приступать к изучению команд, следует понимать два важных момента:

  • У многих команд существуют изменяемые параметры, уточняющие выполнение командой той или иной функции.
  • По любой команде можно получить помощь прямо в окне интерпретатора. Для этого следует сразу после команды вписать ” /?
    “, что также является параметром.

Возьмем, к примеру, одну из наиболее востребованных команд ping
. Впишите в консоль следующую строку:

Вызов справки по команде ping

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

Используя path

Третий способ, как запустить программу из командной строки, подразумевает использование команды patch. Ее суть заключается в запоминании указанной директории. То есть вам необходимо ввести адрес не к самому файлу, а к папке, где он находится. Например, нужно открыть Total Commander, который находится по следующему адресу:

 c:\program files\total commander 

Тогда в консоли введите следующую команду:

 patch "c:\program files\total commander" 

Командная строка запомнит директорию, которую вы указали, и будет запускать все файлы из нее, если вы введете их название. Таким образом для запуска Total Commander останется лишь написать его название:

 totalcmd 

как запустить программу c через командную строку

Запуск системных компонентов и программ из командной строки

Здесь стоит отметить, что запускать системные компоненты и программы все же проще не напрямую из командной строки, а из ранее упомянутого приложения “Выполнить”. Но разницы в синтаксисе (написании) самих команд никакой нет. В обоих случаях после ввода команды достаточно нажать “Enter”.

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

  • control
    — запуск “Панели управления Windows”.

Выполнение команды "control"

  • regedit
    — запуск “Редактора реестра”.

Выполнение команды "regedit"

  • devmgmt.msc
    — запуск “Диспетчера устройств”.

Выполнение команды "msc"

  • taskmgr
    — запуск “Диспетчера задач”.

Выполнение команды "taskmgr"

  • services.msc
    — запуск приложения “Службы”.

Выполнение команды "services.msc"

  • appwiz.cpl
    — “Программы и компоненты” (“Установка и удаление программ”).

Выполнение команды "appwiz.cpl"

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

А вот 4 команды для запуска предустановленных (стандартных) в Windows программ:

  • calc
    — запуск “Калькулятора”.

Калькулятор Windows

  • mspaint
    — запуск графического редактора “Paint”.

Графический редактор mspaint

  • notepad
    — запуск текстового редактора “Блокнот”.

Текстовый редактор notepad

  • wordpad
    — запуск текстового редактора “WordPad”

Тектовый редактор wordpad

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

Создание файлов.

В Windows нет специальной команды для создания файла, но без нее можно легко обойтись несколькими способами:

  • Копирование с консоли в файл

    COPY CON myfile.txt

    При выполнении этой команды данные с клавиатуры (устройство CON) будут заноситься в файл myfile.txt. Нажатие клавиши F6 или комбинации CTRL-Z завершит вывод.

  • Перенаправление вывода

    При выполнении этой команды будет создан файл myfile.txt, содержащий символ “1”

  • Комбинация перенаправления ввода и вывода:

    COPY CON > myfile.txt < xyz

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

    Совсем простой вариант – копирование с фиктивного устройства с именем nul

    в файл.

    copy nul myfile.txt

       
    Если вам часто приходится создавать пустые файлы, можно подготовить свой
    командный файл (например – newfile.bat или, что еще лучше, – nf.bat),

    а имя создаваемого файла передавать ему в качестве параметра при запуске.


    copy nul %1

       
    Поместите этот командный файл в системный каталог
    (C:\windows\system32) или любой другой, имеющийся в путях поиска,
    задаваемых переменной PATH).

       
    Таким образом, мы получили команду nf
    для создания пустого файла в
    командной строке Windows.

    Присвоение съемному диску одной и той же буквы.

        Задача заключается в том, чтобы съемный USB диск (флэш диск) был доступен
    всегда под одной и той же буквой, независимо от того, на каком компьютере он используется
    и как он подключен. Для ее решения воспользуемся уже упоминаемой выше командой SUBST.
    Выберем для съемного диска желаемую букву, например – X
    . Имя диска, с которого
    был запущен командный файл доступно как переменная %~d0
    . Создаем командный файл
    следующего содержания:


    subst X: %~d0\

    что означает – создать виртуальный диск X:, которому сопоставлен
    физический диск, откуда был выполнен запуск командного файла.

    Дополнительное представление о подстановочных значениях
    переменной %0
    можно получить из командного файла следующего
    содержания:

    Создание поколений архивов по датам и времени.

       
    Решим следующую задачу – нужно создать архив файлов, находящихся в каталоге
    C:\Program Files\FAR. Имя архивного файла должно состоять из текущего времени
    (часы.минуты.секунды – ЧЧ. ММ. СС.rar), и помещен он должен в новый каталог, имя которого должно состоять из текущей даты
    (день.месяц.год – ДД. ММ. ГГГГ). Для архивирования будем использовать архиватор RAR.
    Формат запуска для создания архива:

    RAR a -r < путь и имя архива > < Путь и имя архивируемых данных >

    a
    – параметр, задающий добавление файлов в архив (для создания архива).

    -r
    – параметр, определяющий архивирование подкаталогов (т.к. в исходной папке есть подкаталоги).

    Таким образом, для решения задачи нужно правильно создать имена и пути для RAR. Для чего
    воспользуемся следующими факторами:

  • В командных файлах можно получить доступ к текущей дате и текущему времени, используя значения переменных DATE и TIME
  • В командных файлах можно создавать временные переменные с помощью команды SET.

  • Значение временных переменных может быть сформировано на основе DATE и TIME путем пропуска и (или) замещения их частей с помощью все той же команды SET.

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

    Пн 21.01.2005
    – День недели(2 символа)-Пробел-дата(10 символов)

    Для примера, создадим каталог командой MD < имя каталога >

    Создаем в памяти временную переменную VDATE и присваиваем ей значение
    переменной окружения DATE, без первых 3-х символов – 20.01.2018:

    Создаем каталог на диске C:, имя которого = текущая дата из переменной VDATE:

    MD C:\%VDATE%

    После выполнения этой команды на диске C: будет создан каталог с именем 20.01.2018

    Время, получаемое из переменной %TIME%:

    14:30:59.93
    – Часы, минуты, секунды, сотые доли секунды.

    Сотые доли – это в имени файла архива, пожалуй, лишнее. Создаем временную
    переменную VTIME и присваиваем ей текущее время без последних 3-х символов

    Теперь VTIME = 14:30:59, но знак ” : ” в имени файла использовать нельзя,
    поэтому заменим его на точку.

    set VTIME=%VTIME::=.%

    Переменная VTIME примет значение 14.30.59 . Его вполне можно использовать в качестве имени файла.

    Для запуска архивирования будет использоваться команда:

    rar a -r C:\%VDATE%\%VTIME%.rar “C:\Program files\far\*.*”

    Предполагается, что архиватор rar.exe
    находится в текущем каталоге или в каталоге исполняемых файлов,
    определяемом переменной PATH. Например, при установленном в системем, бесплатном архиваторе 7-Zip
    , можно
    использовать командную строку с указанием полного пути исполняемого файла:

    “C:\Program Files\7-Zip\7z.exe a -r %TO%\%VDATE%\%VTIME%.7z” “C:\Program files\far\*.*”

    Теперь можно создать командный файл с содержимым:


    set VDATE=%date:~3%

    md c:\%VDATE%

    set VTIME=%time:~0,-3%

    set VTIME=%VTIME::=.%

    rar a -r C:\%VDATE%\%VTIME%.rar “C:\Program files\far\*.*”

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

    Создание архивов с использованием переменных профиля пользователя.

        Этот командный файл создает архивы содержимого папки
    “Мои Документы” пользователя, размещая их в каталог

    C:\ARHIV\Мои документы\Имя пользователя\Дата\время

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

    В операционных системах семейства Windows существует утилита командной строки для управления заданиями планировщика at.exe
    . Главное ее назначение – выполнить команду или пакетный файл в указанное время на локальном или удаленном компьютере. В настоящий момент утилита считается устаревшей и
    Microsoft рекомендует использовать вместо нее более функциональную, но и относительно сложную в использовании Schtasks.exe
    . Тем не менее, для освоения приемов работы с планировщиком заданий, возможностей at.exe
    вполне достаточно.

    Формат командной строки:

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

    \\имя_компьютера
    – Имя удаленного компьютера. Если этот параметр опущен,
    то используется локальный компьютер.

    код
    – Порядковый номер запланированной задачи. Указывается если нужно отменить уже запланированную задачу с помощью ключа /delete
    .

    /delete
    – Отмена запланированной задачи. Если код задачи опущен,
    отменяются все задачи, запланированные для указанного компьютера.

    /yes
    – Подавление запроса на подтверждение при отмене всех запланированных задач.

    время
    – Время запуска команды.

    /interactive
    – Разрешение взаимодействия задачи с пользователем,
    работающим на компьютере во время запуска задачи. Задачи, запущенные без этого ключа невидимы для пользователя компьютера.

    “команда”
    – Команда или имя пакетного файла.

    Примеры использования:

    – Аналог “будильника” , – всплывающие окна с текстом, напоминающие
    текущему или указанному пользователю о необходимости
    выполнения каких-нибудь действий. Для отправки сообщения пользователю
    Win2k/XP можно использовать стандартную утилиту NET. EXE
    , а для более поздних версий Windows – MSG. EXE
    . Необходимо учитывать, что
    утилита msg.exe прекрасно подходит для обмена сообщениями между сеансами локальных и терминальных пользователей в пределах одной системы, однако, в случаях обмена между разными компьютерами локальной сети, потребуется изменить некоторые настройки безопасности, принятые по умолчанию в операционных системах Windows 7 и более поздних. Подробности – по ссылке с описанием утилиты, приведенной выше.

    AT 13:50 net.exe send * Пора пить кофе

    AT 13:50 c:\windows\system32\msg.exe * Пора пить кофе

    – Просмотр списка запланированных задач:

    – Удаление уже спланированных задач:

    AT 3 /DELETE
    – удаление задачи с номером 3

    AT /DELETE /YES
    – удаление всех задач

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

    Остановка и запуск системных служб.

    Для остановки и запуска служб из командной строки можно воспользоваться стандартными утилитами NET. EXE и SC. EXE. Последняя обладает широкими возможностями для конфигурирования, опроса состояния, остановки, запуска, удаления и добавления системных служб.

    NET. EXE STOP < имя службы >

    NET. EXE START < имя службы >

    :/>  Список полного руководства по cmd

    Возможно использование как короткого, так и полного имени (“Dnscache” – короткое,
    “DNS-клиент” – полное имя службы).
    Имя службы, содержащее пробелы заключается в двойные кавычки. Пример перезапуска службы “DNS-клиент”

    net stop “DNS-клиент”

    net start “DNS-клиент”

    Те же действия, но с использованием короткого имени:

    net stop Dnscache

    net start Dnscache

    Полное имя службы можно скопировать из “Службы” – < Имя службы > – “Свойства” – “Выводимое имя”

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

    sc.exe stop DNSCache
    – остановить службу DNSCache на локальном компьютере.

    sc \\COMP0 start DNSCache
    запустить службу DNSCache на компьютере COMP0

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

    sc /?

    Выдача на экран значения переменной ERRORLEVEL.

    Примеры запуска:

    echoEL.bat NET SHARE


        – будет выполнена команда NET SHARE (выдать список разделяемых сетевых ресурсов) и выдан код ERRORLEVEL

    Диалог с пользователем

       
    Для диалога с пользователем можно использовать команду:

    SET /P < имя переменной >=< текст >

    при выполнении которой, на экран выдается текстовое сообщение < текст > и ожидается
    ввод ответного текста. Пример – выполним запрос пароля и присвоим его значение
    переменной “pset”:

    Создадим командный файл, демонстрирующий использование CHOICE.
    Он будет реагировать на нажатие клавиш “1”,”2″,3″ и “0” .
    При нажатии “0” выполняется завершение, а при нажатии остальных – сообщение пользователю. Если в
    течении 10 секунд ничего не нажато – завершение.

    Задержки в командных файлах

    При выполнении некоторых операций, например, при остановке или запуске системных служб, командный файл получает управление еще до того, как реально выполнится предыдущая команда. В результате возможна неправильная интерпретация программных событий, вызванная отсутствием задержки, необходимой для выполнения предыдущей команды. В ОС Windows Vista и более поздних для организации задержек используется стандартная команда TIMEOUT
    . Формат командной строки:

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

    /T таймаут
    – Время ожидания в секундах. Допустимый интервал: от -1 до 99999 секунд.

    /NOBREAK
    – Игнорировать нажатия клавиш, ждать указанное время.

    /?
    – Вывод справки по использованию.

    Примечание: значение таймаута, равное -1
    задает неограниченное время
    ожидания до нажатия клавиши.

    TIMEOUT /?
    – отобразить краткую справку по использованию команды

    TIMEOUT /T 10
    установить режим ожидания 10 секунд. На экран выдается информационное сообщение с отсчетом оставшегося до завершения интервала времени ( 10, 9, 8 секунд . . . ):

    Время ожидания 10 сек., нажмите любую клавишу для продолжения

    Нажатие любой клавиши приведет к прерыванию таймаута и переходу к выполнению следующей команды.

    TIMEOUT /T 300 /NOBREAK
    – установить интервал ожидания 300 секунд. Нажатие любых клавиш на клавиатуре игнорируется.

    Также, имеется удобная, но входящая только в в состав дополнительного пакета Resource Kit, команда SLEEP
    .
    Формат командной строки:

    sleep -m миллисекунды

    sleep 10
    установить режим ожидания 10 секунд.

    sleep –m 2500
    – установить интервал ожидания 2500 миллисекунд (2.5 секунды).

    Для прерывания команды sleep
    можно использовать комбинации клавиш CTRL+C или CTRL+Break.

    Также можно воспользоваться ранее рассмотренной
    командой CHOISE без вывода текста и с автоматическим формированием ответа через
    nn секунд (1-99):

    choice.com /T:y,10 /N
        – задержка на 10 секунд

        Более универсальный способ основан на опросе командой PING интерфейса замыкания на себя (петлевого интерфейса) нужным количеством пакетов. P ING для петлевого интерфейса (имя хоста – localhost или IP- адрес 127.0.0.1) выполняется без реальной передачи данных, т.е. практически мгновенно, а интервал между отправкой ICMP-пакетов составляет 1 секунду. Указывая количество пингов с помощью ключа “-n” можно получить задержку на n секунд:

    ping 127.0.0.1 -n 30 > nul     – даст задержку на 30 секунд

    Поиск компьютеров с запущенным приложением

    В состав современных ОС семейства Windows входит стандартная утилита командной строки TASKLIST
    , предназначенная для получения списка процессов, выполняющихся на локальном или удаленном компьютере в данный момент времени. При использовании команды без параметров, отображается список процессов выполняющихся на локальном компьютере. Для получения списка процессов на удаленном компьютере используется ключ /S
    :

    tasklist /S comp0
    – отобразить список процессов, выполняющихся на компьютере comp0
    .

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

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

    Кроме стандартной утилиты tasklist.exe
    можно воспользоваться утилитой PSList
    из комплекта сервисных программ PSTools
    сайта Windows Sysinternals.

    Краткое описание пакета программ PSTools с примерами.

    Утилита PSList проще в использовании и работает немного быстрее, по сравнению с TASKLIST, что особенно заметно при ее использовании для получения списка процессов, выполняющихся на удаленном компьютере.

    – старшая часть адреса

    set /A IPLAST=1
    – младшая часть. Ключ /A означает вычисляемое числовое выражение

    – значение полного IP-адреса.

       
    Командная строка для PSlist будет выглядеть следующим образом:

    pslist \\%IPFULL% %1

       
    Теперь осталось только циклически запускать PSlist, прибавляя в каждом цикле единицу к младшей части адреса,
    пока ее значение не достигнет 30 и анализировать значение ERRORLEVEL после выполнения. Для анализа результата будем
    выполнять переход командой:

    обеспечивающей переход на метку REZULT0 при обнаружении процесса и на REZULT1 – при его отсутствии.

       
    Окончательное содержимое командного файла:

       
    Пользователь, выполняющий данный командный файл должен обладать правами администратора по отношению к сканируемым компьютерам. И, если текущий пользователь таковым не является, то в параметры запуска утилит PSlist.exe и PSkill.exe нужно добавить ключи, задающие имя пользователя и пароль. Вместо данных утилит можно использовать стандартные TASKLIST и TASKKILL

    Поиск компьютеров с запущенным приложением по списку.

       
    В предыдущем примере использовался прямой перебор IP-адресов компьютеров в
    локальной сети, что не всегда удобно, поскольку в процедуру опроса оказываются
    вовлечены и выключенные компьютеры. Решим задачу другим способом. Создадим текстовый
    файл со списком компьютеров и опросим их по этому списку.

       
    Список можно получить из сетевого окружения с использованием команды:

    net.exe view > comps.txt

    После выполнения такой команды файл comps.txt
    будет содержать список
    следующего вида:

    Имя сервера                 Заметки

                    < 2 пустых строки >

    ———————–

    \\AB1

    \\AB2

    \\ALEX

    \\BUHCOMP

    \\PC2

    \\SA

    \\SERVER

    Команда выполнена успешно.

       
    Обрабатывать содержимое этого текстового файла будем с помощью команды
    FOR

    с ключом /F
    :

       
    Данная команда позволяет получить доступ к строкам в текстовом файле с использованием ключей:

    skip=n
    – пропустить n
    строк от начала файла (в нашем случае – 4 строки)

    eol=< символ >
    – не использовать строки, начинающиеся с заданного символа.
    (в нашем случае – пропустить последнюю строку, начинающуюся с символа “К” – “Команда выполнена успешно”

    tokens=n
    – брать для обработки n-е слово в строке (в нашем случае – 1-е слово)

    Окончательный вид командного файла:

           Обратите внимание –
    в пакетных файлах для переменных команды FOR используется два знака процента (запись
    %%переменная
    вместо %переменная
    ) и имена переменных
    учитывают регистр букв ( %i
    отличается от %I
    ).

    Работать это будет следующим образом – пропускаются первые 4 строки текстового файла
    со списком компьютеров, и далее в цикле переменной I
    присваивается значение первого
    слова (текст от начала строки до разделителя – пробела) и выполняется утилита
    PSlist.exe, для которой в качестве имени компьютера используется значение этой переменной.
    Если ERRORLEVEL менее 1 – задача с искомым именем присутствует в списке процессов и
    выполняется отправка сообщения с помощью NET SEND или MSG.

           
    Окончательное содержимое командного файла:

    С использованием команды MSG, последняя строка будет выглядеть следующим образом:


    IF NOT ERRORLEVEL 1 msg.exe /SERVER:%COMPUTERNAME% Компьютер – %%i процесс – %1

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

       
    Предыдущий пример можно использовать для создания командного файла, задачей которого является выключение всех компьютеров в локальной сети. Выключение питания производится утилитой PsShutdown.exe из упоминаемого ранее пакета утилит PSTools или стандартной командой shutdown –s
    . Как и в предыдущем примере,
    сначала создается файл со списком компьютеров на основе сетевого окружения, а затем
    выполняется их поочередное выключение, при условии, что имя компьютера не равно текущему (иначе он может выключиться до окончания выполнения командного файла). Содержимое файла:

    IF /I %%i NEQ %COMPUTERNAME% shutdown -s -t 0 -m %%i

       
    Имя домена или рабочей группы можно менять:

    set MyDomain=

    При необходимости, добавляются параметры -u -p для psshutdown.exe .

    Работа с оконными приложениями.

       
    Допустим, вам нужно из одного и того же командного файла запустить notepad.exe
    и cmd.exe. Если просто вставить строки

    notepad.exe

    cmd.exe

    то после запуска notepad.exe выполнение командного файла приостановится и пока не
    будет завершен notepad, cmd.exe не запустится. Самый простой способ обойти эту
    проблему – использовать стандартную утилиту Windows start.exe
    .

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


    start /MAX notepad.exe

    start “This is CMD. EXE” /MIN cmd.exe

    net send %COMPUTERNAME% NOTEPAD and CMD running.

    После выполнения этого командного файла вы увидите стартовавшие, в развернутом окне
    (ключ /MAX) блокнот, в свернутом окне (ключ /MIN) командный процессор CMD. EXE и
    окно с сообщением net.exe. Стандартный заголовок окна cmd.exe заменен на текст
    “This is CMD. EXE”. Обратите внимание на то, что заголовок окна можно опускать, но
    особенность обработки входных параметров утилитой start.exe может привести к
    неожиданным результатам при попытке запуска программы, имя или путь которой содержит
    пробел(ы). Например, при попытке выполнить следующую команду:

    start “C:\Program Files\FAR\FAR. EXE”

    Из-за наличия пробела в пути к исполняемому файлу,
    строка для запуска FAR. EXE должна быть заключена в двойные
    кавычки, однако формат входных параметров для start.exe предполагает наличие заголовка
    окна, также заключаемого в двойные кавычки, в результате чего “C:\Program Files\FAR\FAR. EXE”
    интерпретируется не как исполняемая программа, а как заголовок окна.
    Для того, чтобы подобного не случилось, нужно
    использовать любой, пусть даже пустой, заголовок:

    start “” “C:\Program Files\FAR\FAR. EXE”

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

    :/>  как сбросить настройки адаптера сети на windows 7

    Cmdow.exe – крошечная утилита, работающая в Windows без установки.
    Позволяет получить список окон, перемещать, изменять размеры, переименовывать,
    сворачивать/разворачивать, активировать/деактивировать, закрывать, скрывать окна
    приложений и многое другое. Справку можно получить по команде:

    cmdow /?

    Используется около 30 ключей. Описание на русском языке найдете
    здесь.

    Некоторые примеры:

  • Получение информации об окнах:
  • cmdow.exe
    или cmdow.exe > wins.txt
    – выдать информацию обо всех окнах на экран или в файл wins.txt

    cmdow /T
    – выдать информацию об окнах, отображаемых на панели
    задач рабочего стола.

    Информация содержит колонки:

    Handle – дескриптор окна – шестнадцатеричное число, связанное с данным окном.

    Lev – уровень окна. Приложение может быть многооконным с несколькими уровнями окон.

    Pid – идентификатор процесса, породившего окно.

    -Window status- – состояние окна (видимое – Vis, скрытое – Hid, активное – Act,
    свернутое – Min и т.п.

    Image – программа вызвавшая окно.

    Caption – название окна

  • Манипулирование окнами.

  • Если вы хотите, чтобы ваш командный файл выполнялся скрытно,
    добавьте в него строку:

    cmdow @ /HID
    – скрыть текущее окно

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

        Пример командного файла, закрывающего окна Проводника Интернет
    (IEXPLORE. EXE):

    Типовые ошибки в командных файлах.

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

    Как правило, причиной является тот факт, что на момент выполнения вашего командного файла переменные среды могут быть совсем другими, чем на момент его написания и запуска из командной строки. Например, в командном файле используется запуск приложения myprog.exe, находящегося в каталоге SCRIPTS на диске D: . Если в командном файле используется имя модуля без полного пути

    и если каталог D:\SCRIPTS не прописан в путях поиска (переменная PATH ) то модуль MYPROG. EXE может быть найден и выполнен только если текущим каталогом является D:\SCRIPTS. Но если вы укажете полный путь к myprog.exe

    То программа будет найдена и выполнена в любом случае.

    Есть еще одна тонкость – нередко программа, указанная в командном файле использует для поиска своих компонент (dll, ini и т.п. ) собственный каталог. Но на момент ее выполнения текущим каталогом может быть любой (чаще всего – системный каталог Windows). Естественно, компоненты не находятся и программа не выполняется. Для устранения проблемы добавьте в командный файл команды, обеспечивающие переход в нужный каталог. Например, программа myprog.exe должна выполняться в каталоге D:\SCRIPTS:

    Rem Сменим текущий диск

    Rem перейдем в каталог SCRIPTS

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

  • Не удается использовать русские имена файлов, служб и т.п.

    Причина в том, что при создании командных файлов вы
    использовали текстовый редактор, в котором русские символы представлены
    не в DOS-кодировке. Если в приведенном выше примере перезапуска службы “DNS-клиент”
    вы используете неверную кодировку, то русская часть имени службы не будет опознана
    из-за неверной кодировки и будет выдано сообщение, что указанная служба не
    установлена. Чтобы избежать проблем с русскими символами в командных файлах,
    используйте редактор с поддержкой DOS-кодировки, например, встроенный редактор
    файлового менеджера FAR
    .

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

  • Командный файл выполняется на одном компьютере, но на другом – не работает.

        Обычно это вызвано применением в командных файлах абсолютных значений вместо
    переменных среды окружения. Вместо C:\WINDOWS правильнее использовать %SYSTEMROOT%, потому,
    что на другом компьютере система может быть установлена в другой каталог или на другой диск.
    Старайтесь вместо имени командного файла использовать переменную %0 и ее
    подстановочные
    варианты (%~d0 – диск с которого запущен сценарий, %~dp0 – полный путь и т.д.).

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

    DIR %ProgramFiles%

    не выдаст вам содержимого каталога C:\Program Files , поскольку из-за наличия пробела будет
    интерпретирована как

    DIR C:\Program

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

    DIR “%ProgramFiles%”

    выполнится верно.

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

    <br

    Использование командных файлов в сценариях регистрации
    пользователей .

    Командные файлы удобно использовать для выполнения каких-либо
    действий при регистрации пользователя в
    домене. Делается это с помощью вкладки “Profile”
    свойств пользователя домена.

    Для запуска программы через командную строку необходимо задать параметр "Вкл"

    Сами командные файлы скриптов должны
    находиться в сетевой папке   Netlogon (Windows\ Ssysvol\ Domain\ Scripts , для Win2k –
    WINNT\SYSVOL \ DOMAIN \ SCRIPTS) контроллера
    домена, доступ на чтение к которой должен
    быть у всех пользователей, проходящих
    регистрацию.

    Страницы близкой тематики:

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


    – Перечень команд CMD Windows и краткая справка с примерами

    Работа с сетью в командной строке

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

    Настройка командной строки Windows

    – Примеры настроек приложения командной строки.

    Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой “Поделиться”

    </br

  • Примеры

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

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

    этого сайта (требуется регистрация).

    ПОЛЕЗНОЕ ВИДЕО

    svengali
    Уверенный пользователь трех домашних ПК с многолетним опытом, “компьютерщик” для всех родственников, соседей и знакомых, в течении 13-ти лет автор более тысячи обзоров интересных и полезных программ для компьютера на собственном софтовом блоге OptimaKomp. RU

    как ускорить интернет


    программы для зрения


    мало места на диске

    Работа с файлами и папками из командной строки

    Бывают ситуации, когда невозможно запустить стандартный файловый менеджер “Проводник Windows”. Например, из-за действия вирусов-блокировщиков или при системных сбоях. В любом случае все, что можно сделать при помощи “Проводника”, можно сделать и при помощи командной строки. Начнем с самого простого — просмотра содержимого папок.

    Просмотр содержимого папки

    Давайте, выведем на экран список все других объектов (файлов и папок), содержащихся в данной папке. Для этого используйте команду dir
    :

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

    Объекты, напротив которых написано <
    DIR>
     — это папки, все остальное — файлы (напротив них указан размер в байтах).

    Команду dir
     можно применять вообще папкам, расположенным в вообще любом месте на жестком диске. Для этого после команды следует указать путь до каталога. К примеру, для просмотра содержимого папки ” Windows
    ” на диске “C:” следует ввести команду:

    Запомните одно простое правило. Если в именах папок/файлов присутствуют пробелы, их следует писать в двойных ( “имя папки или файла”)
    кавычках.

    Открытие файла из командной строки
    . Для открытия файла достаточно вписать его полное название вместе с расширением в командную строку. Что не вводить имя файла целиком, используйте клавишу “Tab” (с ее помощью можно поочередно перебирать имена всех объектов в текущей папке).

    Открытие файла из командной строки

    Переход в другую папку
    . Для перехода в папку используется команда cd
    , после которой следует прописать путь к открываемой папке либо просто ее имя (если она расположена в нашем текущем местоположении на жестком диске).

    Перейдем в папку “Music”. Т.к. она находится в текущем каталоге, достаточно ввести в консоль:

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

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

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

    Для запуска программы через командную строку необходимо задать параметр "Вкл"

    • Допустим, нам известно, что на диске ” E
      ” существует папка ” Install
      “, а в ней — пака ” Web
      “. Перейти в нее можно одной командой:

    Переход в папку на другом диске через командную строку

    Запуск/открытие программы/файлы в другой папке или на другом диске
    . Запустим программу, расположенную где-нибудь глубоко на диске. Для запуска файла или программы можно просто указать полный путь до него. Текущее местоположение в этом случае не имеет значения. Запустим, например, текстовый редактор ” Notepad++
    ” одной командой:

    Запуск программы через командную строку

    Обратите внимание, что имя папки “Program Files” взято в кавычки, т.к. в нем присутствует пробел.

    Создание, удаление и переименование файлов и папок
    . Из командной строки можно выполнить все эти операции над файлами и папками.

    • Создание простого текстового файла — copy nul простой_текстовый_файл.
      txt
      . Перед названием файла можно указать путь до конечной папки, в которой тот будет создан (если не указать, файл создастся в текущей папке).

    Создание файла в командной строке

    • Создание папки — mkdir папка
      . Папка также создается в текущем местоположении.

    Создание папки в командной строке

    • Удаление файла (или нескольких) — del простой_текстовый_файл.txt
       (если требуется удалить несколько файлов, просто вписываем их имена друг за другом через пробел). Удаляем созданный ранее файл.
    • Удаление папки — rmdir папка
      . Удаляем созданную ранее папку.

    Удаление папки в командной строке

    • Переименование папки/файла — ren простой_текстовый_файл.
      txt новое_имя_файла.
      txt
       или ren папка новое_имя_папки
      . Переименуем созданный файл и папку.

    Переименование папок и файлов в в командной строке

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

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

    Это была поднимающая настроение пауза
    , а теперь снова делаем серьёзные, даже суровые лица и идём искать командную строку в Windows.

    Для запуска программы через командную строку необходимо задать параметр "Вкл"
    • Находим в Проводнике папку C:\Windows\System32 и запускаем «cmd.exe»…
    Для запуска программы через командную строку необходимо задать параметр "Вкл"
    Для запуска программы через командную строку необходимо задать параметр "Вкл"
    • Ещё можно через меню кнопки «Пуск» перейти в «Служебные — Windows»…
    Для запуска программы через командную строку необходимо задать параметр "Вкл"
    Для запуска программы через командную строку необходимо задать параметр "Вкл"

    Предисловие

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

    Оказалось (вычитал на официальном сайте автора утилиты), что для удаления надо всего-лишь запустить её в командной строке Windows, от имени администратора, да ещё и с определённым аргументом.

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

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

    Понятия не имел, как это делается — узнал, научился и делюсь этой информацией (решил отдельную статью написать, ведь это знание может пригодиться не только для удаления одной определённой программы).

      Как открыть командную строку Windows?

    • Некоторые из консольных команд можно выполнить лишь из учетной записи администратора. Потому лучше сразу запомнить, как запускать интерпретатор с максимальным количеством прав доступа к системе. В ОС Windows 7/8/10 делается это просто:

      Откройте “Поиск” в/около меню “Пуск”.

      Впишите поле поиска “Командная строка”.

      В результатах поиска отобразится нужная нам программа. Кликните по ней правой кнопкой мыши, затем выберите из выпадающего меню пункт “Запустить от имени администратора”.

      Открытие файла из командной строки

      Но для выполнения простых команд консоль Windows можно запускать и без прав администратора. Проще всего это сделать следующим образом:

      • Нажмите на клавиатуре клавиши “Win” и “R”.
      • Откроется окно “Выполнить”.
      • Впишите в него команду cmd
         и нажмите “ОК”.

      Запуск командной строки

      Так или иначе, системное приложение “Командная строка Windows” будет запущена и готова выполнению пользовательских команд:

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

      Переходы и метки.

      В командных файлах можно использовать команды условного перехода, меняющие логику их работы в зависимости от выполнения определенных условий. Для иллюстрации приемов использования условных переходов создадим командный файл, целью которого будет присвоение заранее определенной буквы диска для съемных носителей, в качестве которых будут использоваться флэш-диски. Условия таковы – есть 2 флэш-диска, один из которых должен быть виден в проводнике как диск X: а второй – как диск Y: независимо от того, в какой порт USB они подключены и какая буква назначена им системой. Будем считать, что реальные диски могут быть подключены как F: или G: Опознавание дисков будем выполнять по наличию файла с определенным именем (лучше такой файл сделать скрытым в корневом каталоге и назвать его как-нибудь необычно):

      Flashd1.let
      – на первом диске

      Flashd2.let
      – на втором

      Таким образом, задача командного файла заключается в том, чтобы проверить наличие на сменных дисках F:
      и G:
      файлов Flashd1.let
      или Flashd2.let
      и, в зависимости от того, какой из них присутствует, присвоить диску букву X:
      или Y:

      Для поиска файла на диске используем команду IF EXIST
      :

      IF EXIST имя_файла команда

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

      SUBST X: C:\
      – создает виртуальный диск X:, содержимым которого будет корневой каталог диска C:

      Создаем командный файл setXY.bat
      со следующими строками:


      IF EXIST G:\flashd1.let SUBST X: G:\


      IF EXIST F:\flashd1.let SUBST X: F:\


      IF EXIST G:\flashd2.let SUBST Y: G:\


      IF EXIST F:\flashd2.let SUBST Y: F:\

      Желательно обойти выполнение SUBST, если виртуальные диски X: и Y: уже созданы, (или удалять их, используя SUBST с параметром –d перед подключением ). Модифицируем командный файл с использованием команды GOTO
      – передачи управления строке пакетного файла по метке.

      Метка должна находиться в отдельной строке и начинаться с двоеточия. Сделаем изменения в нашем командном файле, чтобы не возникало сообщений об ошибке:


      REM если не существует X: – то перейдем на метку SETX


      IF NOT EXIST X:\ GOTO SETX


      REM если существует X: – перейдем на проверку наличия Y:


      IF EXIST G:\flashd1.let SUBST X: G:\


      IF EXIST F:\flashd1.let SUBST X: F:\


      REM если Y: существует – завершим командный файл.


      IF EXIST Y:\ GOTO EXIT


      IF EXIST G:\flashd2.let SUBST Y: G:\


      IF EXIST F:\flashd2.let SUBST Y: F:\

    REM выход из командного файла

  • ERRORLEVEL

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

    CALL

    . Создадим командный файл

    test.bat Выполнение команды CD
    , следующего содержания:

    1.bat

    PAUSE

    • test.bat

      Для запуска программы через командную строку необходимо задать параметр "Вкл" test.bat

        CALL

        Выйти из зацикливания командного файла можно по нажатию комбинации CTRL-Break.

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

        Как запустить программу с параметрами командной строки?

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

        1. Нажмите ПКМ по ярлыку программы.
        2. Выберите пункт “Свойства”.
        3. Перейдите на вкладку “Ярлык”.
        4. В поле “Объект” допишите нужный параметр после кавычек.
        5. Нажмите применить и закройте окно.

        как запустить программу с параметрами командной строки

        Теперь программа будет запускаться с указанным параметром, вам всего лишь нужно дважды кликнуть по ее ярлыку. Вот мы и рассмотрели все способы, как можно запустить программу из командной строки. Ну а каким именно пользоваться – решать только вам.

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

        и – компилируемый язык. После сборки программа представляет собой исполняемый файл (мы не рассматриваем создание динамических библиотек,
        драйверов и т.д.). Наши программы очень простые и не содержат библиотек времени выполнения (Runtime libraries), поэтому могут быть перенесены на компьютер с такой же
        операционной системой (и подобной архитектурой) и там запущены.

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

         void main(int argc, char **argv) {	.
        } 

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

         #include <conio.h>
        #include <stdio.h>
        void main(int argc, char **argv) {	printf("%s", argv[0]);
        } 
        Первый аргумент - это имя программы
        Первый аргумент – это имя программы

        Теперь научимся немного работать с командной строкой. Это понадобится для того, чтобы передавать аргументы нашей программе.
        Сочетание клавиш Win+R вызывает окно “Выполнить”. Наберите в нём cmd и вы откроете командную строку. Также можно найти cmd.exe поиском в меню Пуск.
        В юникс-подобных операционных системах можно вызвать программу “терминал”.

        Выполнить
        Выполнить

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

        Стандартная для всех операционных систем команда cd осуществляет переход к нужной папке. Существует два зарезервированных имени – . (точка) и . (две точки). Точка – это имя текущей папки.

        никуда не переходит

        . обращение к родительской папке

        переход в родительскую папку

        Для перехода по нужному пишется cd адрес. Например, нужно перейти на windows в папку C:\Windows\System32

        В линуксе если нужно перейти в папку /var/mysql

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

        cd "D:\Docuents and Settings\Prolog"

        Терминал имеет следующие полезные особенности: если нажать стрелку вверх, по появится предыдущая выполненная команда. Если нажать tab, то терминал
        попытается дополнить строку до известной ему команды, или дополнить путь, перебирая все папки и файлы в текущей папке.

        Наберите cd C:\

        нажимайте tab и смотрите, что происходит.

        Ещё одна важная команда dir на windows и ls на linux, выводит на консоль содержимое текущей папки (той папки, в которой вы находитесь в данный момент)

        Ваша программа вернула своё полное имя. Перейдите в папку, где располагается ваша программа и посмотрите её содержимое

        Переходим в папку, в которой располагается наша программа и смотрим содержимое
        Переходим в папку, в которой располагается наша программа и смотрим содержимое

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

        Вызов программы из командной строки
        Вызов программы из командной строки

        Заметьте – имя изменилось. Так как программа вызывается из своей папки, то выводится относительно имя. Теперь изменим программу и сделаем так, чтобы она выводила все
        аргументы. которые ей переданы.

         #include <conio.h>
        #include <stdio.h>
        void main(int argc, char **argv) {	int i;	for (i = 0; i < argc; i++) {	printf("%s\n", argv[i]);	}
        } 

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

        Передача аргументов программе
        Передача аргументов программе

        Давайте теперь напишем программу, которая получает два аргумента числа и выводит их сумму

         #include <conio.h>
        #include <stdio.h>
        #include <stdlib.h>
        void main(int argc, char **argv) {	int a, b;	if (argc != 3) {	printf("Error: found %d arguments. Needs exactly 2", argc-1);	exit

        ; } a = atoi(argv[1]); b = atoi(argv[2]); printf("%d", a + b); }

        Соберём и вызовем

        Функция принимает в качестве аргументов два числа
        Функция принимает в качестве аргументов два числа

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

        firefox.exe "www.mozilla.org" "learnc.info"
        и он сразу же откроет в двух вкладках сайты по указанным адресам.

        Многие стандартные команды также имеют параметры. В windows принято, что они начинаются с прямого слеша, в юниксе с минуса или двух минусов. Например

        выводит только папки, а в терминале linux

        ls -l

        выводит все файлы и папки с указанием атрибутов

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

        Всё ещё не понятно? – пиши вопросы на ящик email

        Динамическое выделение памяти

        Параметры


        заголовок
        Указывает заголовок, выводимый в области заголовка окна.
        /d
        путь
        Указывает каталог запуска.
        /i
        Передает начальные установки среды интерпретатора Cmd.exe в новое окно командной строки.
        /min
        Запускает новое окно командной строки в свернутом виде.
        /max
        Запускает новое окно командной строки в развернутом виде.
        /
        Запускает 16-битные программы в отдельном пространстве памяти.
        /shared
        Запускает 16-битные программы в отдельном пространстве памяти.
        /low
        Запускает приложение с низким приоритетом.
        /normal
        Запускает приложение с нормальным приоритетом.
        /high
        Запускает приложение с высоким приоритетом.
        /realtime
        Запускает приложение с приоритетом реального времени.
        /abovenormal
        Запускает приложение с приоритетом выше среднего.
        /belownormal
        Запускает приложение с приоритетом ниже среднего.
        /wait
        Запускает приложение с ожиданием окончания его работы.
        /b
        Запускает приложение без открытия нового окна командной строки. Обработка комбинации клавиш
        CTRL+C не производится, пока приложение не разрешит обработку CTRL+C. Для прерывания
        приложения следует использовать CTRL+BREAK.
        имя_файла
        Задает команду или программу для запуска.
        параметры
        Задает параметры, которые будут переданы вызываемой программе.

        Востребованные сетевые команды командной строки

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

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

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

        “100% потерь” означает, что связь установить не удалось.

        Определение IP при помощи команды PING

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

        Выполнение команды ipconfig /all

        Если требуется определить только MAC-адрес сетевой карты, используем эту команду без всяких атрибутов:

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