marolok.ucoz.ru. Bat 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
|
|
|
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