marolok.ucoz.ru. Bat echo


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

Команда ECHO наверно является одной из самых простых и самых используемых команд. Применяется для вывода текстовых сообщений на стандартный вывод и для переключения режима отображения команд на экране.

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

ECHO [ON | OFF] - включить / выключить режим отображения вводимых команд на экране.

ECHO [сообщение] отобразить текст сообщения на экране.

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

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

Режим вывода команд на экран (ECHO) включен.

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

echo.

echo Hello World!!! - вывод сообщения Hello World!!! на экран.

echo %USERNAME% - вывод на экран значения переменной окружения USERNAME (имени текущего пользователя)

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

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

Очень часто команда echo используется для записи сообщений в текстовый файл с использованием перенаправлением вывода:

echo Начало работы - %DATE% в %TIME% >logfile.txt

. . .

Echo ERORLEVEL=%ERRORLEVEL% >> logfile.txt

Echo Конец работы, %DATE% в %TIME% >>logfile.txt

В текстовый файл logfile.txt записывается дата и время начала работы командного файла, некоторые результаты и время завершения.

Нередко, команда echo используется для создания нового файла:

echo 1 >newfile.cmd - вывести символ "1" в файл newfile.cmd. Если такого файла не существует, он будет создан, если существует, то будет перезаписан.

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

@echo off ECHO ОБРАБАТЫВАЕТСЯ ФАЙЛ - %0 ECHO Дата/время создания/изменения командного файла - %~t0 ECHO Путь командного файла - "%~f0" ECHO Диск командного файла - %~d0 ECHO Каталог командного файла - "%~p0" ECHO Имя командного файла - %~n0 ECHO Расширение командного файла - %~x0 ECHO Короткое имя и расширение - %~s0 ECHO Атрибуты командного файла - %~a0 ECHO Размер командного файла - %~z0

При выводе служебных символов, интерпретируемых командным процессором нужно использовать символ ^. Например, вместо значения переменной ERRORLEVEL, нужно вывести текст “%ERRORLEVEL%”

ECHO ^%ERRORLEVEL^% = %ERRORLEVEL%

Особенностью команды ECHO является добавление служебных символов возврата каретки и перевода строки 0x0D и 0x0A (Carriage Return и Line Feed) в конец выводимого текста. Командный файл следующего содержания выводит текст из 3-х строк:

echo text1

echo text2

echo text3

Если же требуется вывести весь текст в одну строку, обычно используют эмуляцию команды ECHO командой SET с параметром /P, используемой для организации диалога с пользователем, когда выводится сообщение, на которое требуется ответ. Выводимое сообщение можно использовать таким же образом, как и в команде ECHO, а вместо ответа можно использовать ввод с фиктивного устройства nul:

echo off

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

text1 text2text3

Для подачи звуковых сигналов можно использовать вывод служебного символа с кодом 07 (BELL). Достаточно просто включить его в поток выходных данных, что зависит от возможностей редактора, который используется для написания командного файла. Можно использовать и стандартные возможности командной строки, добавив комбинацию CTRL+G :

echo echo ^G > beepcmd.bat

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

Весь список команд CMD Windows

ab57.ru

ВСЕ О BAT!!! - Команда @ECHO OFF

Календарь
«  Декабрь 2018  »
ПнВтСрЧтПтСбВс
     12
3456789
10111213141516
17181920212223
24252627282930
31
При выполнении BAT на экран, помимо результатов работы команды, выводятся и сами команды. Чтобы отключить вывод команд, можно использовать символ @.

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

echo TestingЭта команда выведет на экран команду echo Testing, а на следующую строку - результат ее работы, слово Testing.@echo TestingЭта команда выведет на экран только результат работы команды, т.е. слово Testing. Сама команда выведена не будет.Если на протяжении выполнения всего файла выводить команды на экран не нужно, то проще первой строкой в пакетном

файле написать следующую команду:

@echo offЭта команда отключит вывод команд на экран на протяжении выполнения всего пакетного файла. Чтобы сама команда не

выводилась, она начинается с символа @.

Статистика

Онлайн всего: 1

Гостей: 1

Пользователей: 0

homegeton.ucoz.com

Bat файлы - Мои статьи - Каталог статей

А теперь немного посложнее, нам нужно написать программу, которая

возьмет эту строку из файла и создаст другой BAT файл, вписав туда

имя вызываемого BAT файла и параметры. Вот его код.

Сам код и EXE есть в проекте. Как этим EXE можно воспользоваться ? Смотрите:

Первый параметр - это файл откуда брать строку, второй параметр - это какой BAT файл сформировать, третий параметр - это какой BAT файл вызывать. Результат работы будет такой.

Нам осталось только сложить все в месте. Пишем backup.bat:

times.exe times.txtrunbats times.txt temp.bat start.battemp.bat

Получить дату в файл, сформировать BAT файл с параметрами и

запустить его. В результате работы все получится.

Вся идея в том, что последний BAT файл, который мы запускаем формируется динамически.

А весь код, который нужно выполнить пишется в Start.bat. Если Вы

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

UNC пути (см. "Шаг 18 - Universal Naming Convention - UNC"). Вот,

например, BAT файл, который у меня работает.

mkdir \\Servers\work\%1copy *.* \\Servers\work\%1

Можно добавить в автозапуск и Ваша папочка будет копироваться

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

датам.

Здравствуйте. Прочитал вашу новую рубрику про Bat-файлы. Очень

полезная вещь. Сегодня мы, Windows-пользователи, забыли про

командные строки напрочь, а это плохо, потому что, благодаря им,

можно здорово автоматизировать некоторые операции. Я частенько

использую команду for, чем и хочу с вами поделиться.

Пример 1: Вы хотите подсчитать количество строк в текущей

директории во всех файлах *.cpp и *.h. У Вас, к примеру, есть

программа linecount.exe, которая считает строки для указанного

ей при запуске файла. Как с помощью BAT-файла пересчитать все

*.cpp и *.h? Можно вот так:

echo "Found Files" >result_file.txt for %%a in (*.cpp, *.h) do linеcount %%a >>result_file.txt

Эти же команды можно набирать непосредственно в командной

строке, но тогда вместо %%a пишется %а.

В конструкции for можно через запятую указывать не только

маски, но и имена, что можно продемонстрировать следующим

примером.

Пример 2: Нам нужно создать на диске папки с именами '1', '2',

........ (Задача не очень то умная, но это первое что пришло мне в

голову. Главное - идея)

for %%a in (1, 2, 3, 4, 5 ) do mkdir %%a

Просто, неправда? И главное - быстро. Пример можно усложнить,

добавив к созданию папки копирование в нее какого-либо файла,

что например, может быть полезно при копировании данных на

дискету. Резервирование данных в 5 директориях, скорее всего,

поможет считать записанную информацию дома, если только не

испортится нулевая дорожка :-)

Не забывайте, что в BAT-файлах для переменных вы должны

использовать префикс %%, а в командной строке - %.

Здравствуйте

1. Если использовать команду DATE /t >%D_Date% теперь есть

текущая дата в переменной %D_Date% можешь вычленять из нее,

что хочешь и компоновать как надо.

2. В W2000 есть зарезервированные системные переменные DATE

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

echo %DATE%echo %TIME%

marolok.ucoz.ru