Как сделать диалоговое окно в cmd

Обновлено: 23.04.2024

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

Что такое батники и с чем их едят

Первая программа и основные команды

test.bat

Нажимаем на него ПРАВОЙ кнопкой мыши. Должно появиться диалоговое окно. Нажмем "Открыть". Должен открыться блокнот, пишем:

В 1-ой сроке ("@echo off") префикс '@ ' означает, что команда не будет выведена на экран(попробуйте его убрать :-) ), сама же команда (echo) выводит текст следующий за ней(см. строку 2), НО, если подать строку "off", все последующие команды будут действовать так, как будто перед ними стоит префикс '@', "echo on", соответственно, выключает этот режим. Чтобы вывести символ "%", его нужно дублировать, потом поймете почему :-), для вывода пустой строки поставьте "." после "echo"
В 3-ей строке команда выводит строку "press any key to continue . . ." (если у вас русский язык - "Для продолжения нажмите любую клавишу . . .") и останавливает программу до нажатия любой клавиши.

Наводим красоту

не эта :)

не эта :)

не делает ничего и служит комментарием к коду

Следующий код код работает, как команда "pause", но ничего не выводит на экран и не реагирует на нажатие клавиш(я потом объясню, как это работает).

А этот - меняет заголовок окна на "name"

Заголовок окна

Заголовок окна

Эта команда меняет цвет фона и текста, вместо a и b можно поставить любые шестнадцатеричные цифры(команда не сработает если a = b) см. таблицу ниже. Запись c одной буквой "а" аналогично записи "0a"

Таблица

Таблица

Эта - досрочно завершает программу

Переменные

Создать переменную можно с помощью команды set, синтаксис объявления следующий: P.S. это не совсем переменные, это скорее макросы (для тех к кто не знает C/C++ это именованный кусочек кода, имя которого заменяется на этот кусочек кода)

Если после "set" добавить флаг "/a" то:

Переменной задастся значение выражения, а не его текст, например:

Переменной можно присвоить ТОЛЬКО числовое значение

Чтобы обратиться к переменной, нужно окружить ее символами "%" (так %name%), пример кода:

Подробнее о переменных

Если добавить флаг "/p", то выводиться значение после символа " bash">@echo off set /p a=Enter str echo %a% pause

следующий код вырезает строку от символа номер "a" до символа номер "b" НЕ включительно(счет идет с нуля, отрицательные числа - счет с конца от единицы). Если аргумент один, то он присваивается числу "b", а "a" = 0

следующий заменяет подстроки "a" в строке на строки "b":

Циклы и условия

Цикл можно создать с помощью команды "for", синтаксис следующий:

(a b c) это список (не обязательно из 3-х элементов) и переменная %%i (нужно ставить символ после процентов, а не между) по очереди проходит по значениям в списке

Если добавить флаг "/l", то переменная в первый раз будет равна "a". К ней каждый раз будет прибавляться "b", пока она не станет больше "c"(тут размер ДОЛЖЕН равняться 3)

запустите этот код, тут все наглядно

Команда if выполняет код, если условие верно (или если поставить not после if, когда НЕ верно), вот операторы сравнения:

Как создавать диалоговые окна с помощью VBScript? Всем привет, в этом уроке я вам покажу, как быстро создавать диалоговые окна в Windows, с помощью которых мы так часто подшучиваем над своими коллегами. Я представлю небольшой обзор команд с пояснениями для того, чтобы вы не просто копировали диалоговые окна с сайта, а смогли сами импровизировать, одновременно обучаясь. Это будет знакомый вам по предыдущим компьютерным приколам скриптовый язык VBScript, и всё, что нам как всегда понадобится, это простой Блокнот, который мы, после заполнения кода, будем сохранять в укромном месте с расширением .vbs.

VBScript — это простой язык программирования, исполняемый в системе сценарием Windows Script Host. Легко кодируется в Блокноте, а лучше в специальных текстовых редакторах с расширенными возможностями, как например, AkelPad или Notepad ++ (они, в отличие от встроенного Блокнота, понимают русскую кодировку; выберите Кириллицу — Windows-1251). Именно эта связка сценария и скрипта используется Windows для того, чтобы создавать диалоговые окна . Это гораздо проще, чем использовать такие языки как С и С ++. Однако подробное знакомство с VBScript задачей настоящей статьи не ставилось; здесь я лишь приведу ряд конкретных примеров того как создавать диалоговые окна с более-менее осмысленным для читающего содержанием и вариантами развития событий по результатам действий.

Как создавать диалоговые окна с ошибкой?

Поле «5+16» приказывает системе создавать диалоговые окна с ярлыком критической ошибки и двумя кнопками. Это, как видно, кнопки «повтор» и «отмена». Но как вы уже поняли, можно создавать диалоговые окна и с другими настройкам, и всё это благодаря комбинации цифр или чисел. Это — числовые выражения постоянных, отвечающие за выводимые кнопки, значки и режимы окна. Подробнее смотрим ниже:

Диалоговые окна VBS: множество постоянных и переменных.

В простейшем написании скрипта именно знак «+» позволит применять сразу несколько параметров в одном скрипте. Например, для написания окна типа:

диалоговое окно vbs

Просто повторите скрипт так:

Кстати, появление окна можно запустить по кругу, указав в скрипте команду на запуск его же по нажатию на любую из кнопок:

где скрипт.vbs и есть тот самый скрипт, лежащий, скажем, на Рабочем столе (C:\Users\1\Desktop\). При этом избавиться от окна можно будет только через Диспетчер задач. Скрипт может также содержать и какую-то другую одну или несколько команд. Например, пара вводимых переменных не просто создаст интерактивный диалог, но запустит программу. Например, браузер. Ну, или не запустит:

wikiHow работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали, в том числе анонимно, 12 человек(а).

Вы действительно хороши в программировании командных файлов, лишь не знаете, как сделать меню с выбором "да", "нет" или Выбор 1, 2 или 3? Вы пришли в нужное место!

Изображение с названием Create Options or Choices in a Batch File Step 1

Изображение с названием Create Options or Choices in a Batch File Step 2

Изображение с названием Create Options or Choices in a Batch File Step 3

Изображение с названием Create Options or Choices in a Batch File Step 4

Введите следующие команды. После каждой нажимайте enter. Все, что в скобках, вводить НЕ надо, это примечания с пояснениями.

Изображение с названием Create Options or Choices in a Batch File Step 5

@echo off (Эта команда 'спрячет' возможность ввода команд – по желанию, но мы рекомендуем использовать ее)

Изображение с названием Create Options or Choices in a Batch File Step 6

cls (Спрячет все, что выше, – по желанию, но если вы хотите, чтобы все выглядело упорядоченным – рекомендуем)

Изображение с названием Create Options or Choices in a Batch File Step 7

Изображение с названием Create Options or Choices in a Batch File Step 8

Изображение с названием Create Options or Choices in a Batch File Step 9

Изображение с названием Create Options or Choices in a Batch File Step 10

Изображение с названием Create Options or Choices in a Batch File Step 11

Изображение с названием Create Options or Choices in a Batch File Step 12

Изображение с названием Create Options or Choices in a Batch File Step 13

Изображение с названием Create Options or Choices in a Batch File Step 14

Изображение с названием Create Options or Choices in a Batch File Step 15

Изображение с названием Create Options or Choices in a Batch File Step 16

Изображение с названием Create Options or Choices in a Batch File Step 17

Изображение с названием Create Options or Choices in a Batch File Step 18

Изображение с названием Create Options or Choices in a Batch File Step 19

Изображение с названием Create Options or Choices in a Batch File Step 20

Изображение с названием Create Options or Choices in a Batch File Step 21

Изображение с названием Create Options or Choices in a Batch File Step 22

Изображение с названием Create Options or Choices in a Batch File Step 23

Изображение с названием Create Options or Choices in a Batch File Step 24

Изображение с названием Create Options or Choices in a Batch File Step 25

Изображение с названием Create Options or Choices in a Batch File Step 26

Изображение с названием Create Options or Choices in a Batch File Step 27

Изображение с названием Create Options or Choices in a Batch File Step 28

Изображение с названием Create Options or Choices in a Batch File Step 29

Изображение с названием Create Options or Choices in a Batch File Step 30

Изображение с названием Create Options or Choices in a Batch File Step 31

Изображение с названием Create Options or Choices in a Batch File Step 32

Изображение с названием Create Options or Choices in a Batch File Step 33

Изображение с названием Create Options or Choices in a Batch File Step 34

  • Для более подробной информации введите в командной строке /help.
  • Вы можете поменять :choice1 на любое другое слово, но придерживайтесь его до конца файла.
  • Для более подробной информации введите в командной строке choice /?.
  • Редактор команд в командной строке не работает в Windows 8. Эти команды доступны для windows XP/Vista/Windows 7.
  • Если вы не уверены в том, что делаете, не используйте команды.
  • Команды, которые вы используете бездумно, могут повредить ваш компьютер.

Дополнительные статьи

запустить файл Python с помощью Командной строки Windows

создать очень простую программу в Python

написать программу в блокноте

создать гиперссылку в HTML

создать калькулятор, используя язык HTML

писать компьютерные программы

научиться писать программы

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

сделать задержку в командном файле

менять цвета в Командной строке

создать базу данных в MySQL

скомпилировать программу C, используя компилятор GNU Compiler (GCC)

Об этой статье

Была ли эта статья полезной?

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

wikiHow работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали, в том числе анонимно, 26 человек(а).

Вирусы-шутки — это несложные программы, которые можно подсунуть другу (или врагу), и тот будет думать, что его компьютер взломан, поражен вирусом или серьезно поврежден. Вирусы-шутки можно писать в обычном Блокноте: нужно лишь записать в файл команды, которые замедляют работу компьютера, выводят из строя работу операционной системы или просто пугают пользователя, а затем заставить его запустить этот файл. Вирусы-шутки могут быть чем угодно, начиная от надоедливой неприятности и заканчивая кошмаром, нарушающим работу системы. «Вирусы» из этой статьи предназначены только для безобидных шуток, самое худшее, что они могут сделать, — это выключить компьютер. Внимание: эти вирусы-шутки предназначены только для компьютеров под управлением Windows, они не будут работать на Mac OS без специальной подготовки. Начнем с шага 1.

Запустите Блокнот. Пакетные (.BAT) файлы содержат команды для компьютера в текстовом виде. Для того, чтобы написать BAT-файл, не нужен специальный редактор — достаточно Блокнота из стандартного набора программ Windows. Блокнот можно найти в меню «Пуск» или в подменю «Стандартные». Открыть Блокнот можно также, нажав сочетание клавиш Win+R, в текстовом поле появившегося диалогового окна набрать «notepad» и нажать Enter.

Наберите «@echo off», а затем, с новой строки, «CLS». По умолчанию BAT-файлы открывают окно командной строки и выводят исполняемые команды. Команды «@echo off» и «CLS» предотвращают появление команд в окне командной строки, делая причину шутки невидимой для «жертвы».

  • Чтобы открыть определенное количество окон, с новой строки наберите в Блокноте следующую команду: start (название программы). Вместо фразы в скобках введите название программы на компьютере «жертвы» или или полное имя исполняемого файла. Эта команда дает инструкцию компьютеру открывать окно указанной программы. Например, start iexplore.exe откроет окно Internet Explorer. Повторите команду «start» столько раз, сколько захотите, и ваш «вирус» откроет окно столько раз, сколько вы укажете. Вот несколько программ которые можно ввести после команды «start»:
    • iexplore.exe — браузер Interent Explorer
    • calc.exe — Калькулятор
    • notepad.exe — Блокнот
    • winword.exe — Microsoft Word

    Сохраните текст как пакетный файл. Когда закончите, в меню Блокнота выберите Файл > Сохранить как. , а затем укажите расширение файла «.bat» (например, «pinball.bat»). В выпадающем списке «Тип файла» выберите «Все файлы». Сохраните файл где нибудь на компьютере «жертвы».

    Заставьте пользователя открыть файл. Чтобы ваша шутка сработала, нужно сделать так, чтобы «жертва» запустила ее. Этого можно добиться разными способами. Один из самых работающих — создать ярлык для своего пакетного файла и изменить его иконку на что-то, чем пользователь действительно пользуется, а затем изменить название ярлыка, чтобы оно соответствовало иконке. Откиньтесь на спинку кресла и наблюдайте за результатами из удобного места!

    Запустите Блокнот. Это шутка использует команды из Блокнота, чтобы заставить компьютер открывать программы случайным образом до тех пор, пока пакетный файл не будет отключен или компьютер не зависнет. Чтобы сделать эту шутку, вам просто нужно скопировать и вставить команды, указанные в этом разделе. Однако заметьте, что это сработает не на всех компьютерах.

    Скопируйте и вставьте следующие команды:@echo offclsbegingoto %random%:1start cmd.exegoto begin:2start mspaint.exegoto begin:3start pinball.exegoto begin:4start iexplore.exegoto begin:5start explorer.exegoto begin:6start solitaire.exegoto begin:7start explorer.exegoto begin:8start edit.exegoto begin:9start iexplore.exegoto begin:0start mspaint.exegoto begin

    • Заметьте, что некоторые названия программ, перечисленных выше, могут быть неправильными для некоторых машин, например на некоторых компьютерах может не быть «pinball.exe». Следует проверить дважды правильность названий программ, перед тем как перемещать вирус-шутку на компьютер «жертвы».
    • Если вы сомневаетесь в названии какой-то программы, помните, что точный путь программы тоже подходит. Например, вместо «iexplore.exe» можно написать «C:\Program Files\Internet Explorer».
    • Чтобы было веселей, попробуйте заменить в одной из команд '*.exe' на полный путь к какому-либо документу пользователя. Например, 'start C:\Документы\123.doc' откроет документ 123.doc из папки «Документы» в редакторе по умолчанию, а
      edit (полное имя файла)
      goto begin
      откроет указанный файл в текстовом редакторе DOS. Это будет выглядеть так, как будто хакер читает личные документы. Помните, что имя файла, содержащее пробелы, должно заключаться в кавычки!
    • @echo off — отключить вывод команд.
    • cls — очистить экран командной строки. Командная строка будет выглядеть аккуратней.
    • goto A — перейти на метку А.
    • %random% — переменная Windows, генерирующая случайные числа от 0 до 9 (включительно).
    • :(число, буква или слово) — метка. На нее можно переходить с помощью команды «goto».
    • На заметку: в примере выше у нас 10 меток. Если мы пропустим одно число, программа закроется, если %random% сгенерирует это число.
    • Вот образец одной из самых надоедливых программ и ее код:

    @echo off
    :a
    start notepad
    goto a

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

    Я бы сделал очень простой файл VBScript и вызвал его с помощью CScript для анализа параметров командной строки.

    Что-то вроде следующего в MessageBox.vbs :

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

    MsgBox ссылка, если вы заинтересованы в этом маршруте.

    Прежде всего, DOS не имеет к этому никакого отношения, возможно, вам понадобится решение командной строки Windows (опять же: нет DOS, чистая Windows, просто не окно, а консоль).

    Вы можете использовать метод VBScript, предоставленный boflynn, или вы можете неправильно использовать net send или msg . net send работает только в старых версиях окон:

    Это также зависит от службы Messenger для запуска.

    Для более новых версий (XP и далее, по-видимому):

    Может показаться небольшая вспышка, но никаких временных файлов не требуется. Должен работать весь путь назад в какой-то момент (IIRC) IE5.

    Не забудьте выйти из круглых скобок, если вы используете if :

    Появится следующее окно командной строки:

    Открытие нового cmd-окна не совсем то, о чем вы просили, я понимаю.
    Вы также можете использовать VBScript и использовать это с вашим .bat файлом. Вы можете открыть его из файла bat с помощью этой команды:

    Затем вы создаете новый документ Notepad, введите

    Затем вы сохранили бы это как .vbs файл (поместив “.vbs” в конец имени файла), сохраните как “Все файлы” в раскрывающемся списке под именем файла (поэтому он не сохраняет как .txt), затем нажмите “Сохранить”.

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

    Преимущество использования MSGBOX в том, что оно действительно настраивается (изменить название, значок и т.д.), в то время как MSG.exe не так много.

    Мало других способов.

    2) Использование MSHTA . Также работает на всех машинах Windows с XP и выше (несмотря на то, что OP не хочет “внешних” языков, JavaScript здесь минимизирован). Должен быть сохранен как .bat :

    или в одной строке:

    3) Здесь параметризованный гибрид .bat/jscript (должен быть сохранен как bat ). Он снова использует JavaScript, несмотря на запрос OP, но поскольку он является летучей мышью, его можно назвать файлом bat без забот. Он использует POPUP, который позволяет немного больше контроля, чем более популярный MSGBOX. Он использует WSH, но не MSHTA, как в приведенном выше примере.

    5) и в конце один единственный вызов powershell, который создает всплывающее окно (может быть вызван из командной строки или из пакета, если установлена PowerShell):

    6) И подход дбэнам здесь

    7) Для уведомлений в системном лотке вы можете попробовать следующее:

    – вы можете записывать любые цифры из 0,1,2,3,4 вместо 0 (перед символом “+” ), и вот значение каждого числа:

    – вы можете записывать любые числа из 16, 32, 48, 64 вместо 16 (после символа “+” ), а вот значение каждого числа:

    Вот вариант PowerShell, который не требует загрузки сборок перед созданием окна, однако он работает заметно медленнее (~ +50%), чем команда PowerShell MessageBox, размещенная здесь @npocmaka:

    Вы можете изменить последний параметр с “0x0″ на значение ниже для отображения значков в диалоговом окне (см. ” Метод всплывающих окон” для дальнейшего использования):

    0x10 Стоп
    0x20 Вопросительный знак
    0x30 восклицательный знак
    0x40 информационная марка

    отлично работает, просто сохраните файл .bat в блокноте или убедитесь, что формат установлен на “все файлы”

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

    Это кросс-платформенный: установщик Windows для Windows можно найти здесь.

    Вы можете вызвать функцию dll из user32.dll, я думаю
    Что-то вроде

    Вводя его с моего телефона, не судите меня… иначе я бы связал лишние флаги.

    Следуя ответу @Fowl, вы можете улучшить его с тайм-аутом, чтобы появляться только в течение 10 секунд, используя следующее:

    Это приложение может сделать это, если вы конвертируете (обертываете) свои командные файлы в исполняемые файлы.

    Простой Messagebox

    Отменить попытку снова Messagebox

    4) “Никогда не спрашивайте меня снова” Messagebox

    Лучший вариант

    set my_message=Hello world && start cmd/c "@echo off & mode con cols=15 lines=2 & echo %my_message% & pause>nul"

    Auto- cols версия:

    set my_message=Hello world && (echo %my_message%>EMPTY_FILE123 && FOR %? IN (EMPTY_FILE123 ) DO SET strlength=%~z? && del EMPTY_FILE123 ) && start cmd/c "@echo off && mode con lines=2 cols=%strlength% && echo %my_message% && pause>nul"

    ему нужно ТОЛЬКО для всплывания, когда внутри vm, так технически, должен быть какой-то код вроде:

    Читайте также: