Как заставить CMD что-то сказать? - PullRequest
0 голосов
/ 01 декабря 2010

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

(Конечно, это подделка)

Сканирование ..... с: / окна Сканирование ..... с: / Сканирование ..... Порты

и т. Д., Так что он говорит, что я хочу.

Кроме того, есть ли способ иметь интервал, когда он что-то говорит?

Как:

Сканирование ..... (5 сек после) Сканирование ....

Возможно ли это? Если да, то как?

Ответы [ 5 ]

2 голосов
/ 01 декабря 2010
echo textGoesHere

или

echo "Hey look, text"

выведет текст.

pause

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

sleep 5

приостановится на 5 секунд.

Однако в Windows Vista режим сна больше не включен в набор команд по умолчанию.Предположительно это: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9D467A69-57FF-4AE7-96EE-B18C4790CFFD&displaylang=en содержит файл sleep.exe, который вам понадобится для этого.

1 голос
/ 13 августа 2014

Хорошо, чтобы создать файл .cmd / .bat (пакетный файл AKA), чтобы что-то сказать

Мы используем echo, а синтаксис - echo YOURTEXT Abd, если вы хотите иметь пробелы между:echo"YOUR TEXT" так просто.И добавить пустую строку: echo. (Да, добавить точку без пробела)

Теперь для задержки я рекомендую команду timeout, а синтаксис: timeout /t "your time in seconds without quotation marks" Есть также некоторые дополнительныеПараметры, которые вы можете добавить: Если вы не хотите, чтобы команда отображала текст «Ожидание * секунд, нажмите клавишу для продолжения», затем добавьте >nul в конце, если все параметры.И если вы не хотите, чтобы кто-либо нажимал любую клавишу для продолжения, используйте параметр /nobreak после /t и до >nul, если вы используете >nul

А теперь для получения дополнительной информации.stuff

Вы можете изменить заголовок файла, используя title, синтаксис: title "Titile you want to change to with quotations if you want spaces"

Вы также можете изменить цвет переднего плана и фона, для инструкций введите color/? в Командная строка

На самом деле вы не можете позволить пакетному файлу отображать «C: \ Users \ Yourname>» или что-либо подобное этому перед любой командой, используя @echo off впервое предложение во всем пакетном файле.

И вы также можете использовать pause, чтобы приостановить выполнение файла до тех пор, пока не будет нажата какая-либо клавиша.И если вы не хотите, чтобы отображалось «Нажмите любую клавишу для продолжения», вы также можете добавить >nul сзади.

Чтобы очистить всю страницу: cls

OkКонечно, теперь вот пример файла:

Color 02 Title Windows Scanner Echo. Echo ===================== Echo Windows Scanner Pro Echo v2.0 BETA Echo ===================== Echo. Echo Press any key to start Basic Scan Pause>nul Cls Echo ===================== Echo Windows Scanner Pro Echo v2.0 BETA Echo ===================== Echo. Echo Starting Scan... Timeout /t 5 /nobreak>nul Echo. Echo SCAN STARTED Timeout /t 8 /nobreak>nul Echo ... Timeout /t 3 /nobreak>nul Echo ... Timeout /t 6/nobreak>nul Cls Echo ===================== Echo Windows Scanner Pro Echo v2.0 BETA Echo ===================== Echo. Echo SCAN RESULTS: Echo Nothing found Echo. Pause Echo THANKS FOR USING OUR SERVICE Echo. Pause Cls Echo ==================== Echo Windows Scanner Pro Echo v2.0 BETA Echo ===================== Echo. Echo Bye! Echo. Echo Press any key to exit Pause>nul Exit

Это всего лишь пример (и это не реальное сканирование), вы можете редактировать и делать больше вещей с ним, выМожно даже попросить пользователя ввести тип сканирования, который они хотят!(Поиск в Google, спросите его снова или свяжитесь со мной)

1 голос
/ 01 декабря 2010

Другой вариант - пинговать локальный хост в течение 20 секунд:

@echo Off
@echo "Scanning.... C:\Windows"   
ping 127.0.0.1 -n 20 > nul
@echo "Scanning.... Ports"

pause
1 голос
/ 01 декабря 2010

используйте echo команду.

Для задержки:

не удалось проверить, но попробуйте использовать команду sleep.

0 голосов
/ 07 марта 2013

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

как эта ссылка появляется здесь, это то, что вы можете сделать. Пожалуйста, просмотрите ссылку (если она снова появится в сети), что это о backline. (содержит 79 0x09 символов, которые невозможно набрать обычным блокнотом)

    @echo off

:Scan
echo Start Scan
scan.exe parameter
:Scanloop
tasklist | find>nul "PING.EXE" & call :Spinner Scanning... || goto:end
goto Scanloop

:end
cls
echo This is the end
pause>nul

rem ***************************************
rem * Spinner
rem ***************************************
:Spinner
set backline=
<nul (set/p z=[\] %*)
<nul (set/p z=%backline%)
ping>nul localhost -n 1
<nul (set/p z=[^|] %*)
<nul (set/p z=%backline%)
ping>nul localhost -n 1
<nul (set/p z=[/] %*)
<nul (set/p z=%backline%)
ping>nul localhost -n 1
<nul (set/p z=[-] %*)
<nul (set/p z=%backline%)
ping>nul localhost -n 1
goto :EOF

Это будет сценарий.

ping>nul -n 2 localhost

ждет ок. 1 секунда и

ping>nul -n 3 localhost

ждет около 2 секунд. Это не так точно, как сон, но требует меньше ресурсов.

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