Как изменить цвет батника? Как изменяя оттенок в бикини, можно изменять его тон

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

Пакетный файл или в простонародье батник – это файл, который запускает командную сроку или сокращенно cmd, которая построчно интерпретирует команды, записанные в нем. Подробнее смотрите на https://ru.wikipedia.org/wiki/Пакетный_файл

.

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

Чтобы сделать батник, нужно сначала создать текстовый файл с именем test и изменить расширение c .txt на .bat. О том, как можно это сделать, читайте здесь: https://remontka.pro/file-extensions

. У вас должен появиться файл с такой иконкой:

test.bat
test.bat

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

 @echo off
echo Hello world!
pause 

Этот вопрос закрыт для ответов, так как повторяет вопрос
Как изменить цвет строки в CMD?

egoros7


egoros7

всё ясно автору 12 лет

cmd

Как выводить цветной текст в cmd/bat; нужны ли для этого какие-то библиотеки?


  • Вопрос задан

    более трёх лет назад


Решения вопроса


Ответы на вопрос


res2001

более трёх лет назад


Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.


Похожие вопросы

Вакансии с Хабр Карьеры


Web – программист


Fordewind

от 70 000 до 150 000 ₽


Специалист дежурной смены по сопровождению Хранилища данных

До 120 000 ₽


Разработчик . Net / Ведущий разработчик . Net


Bell Integrator

от 250 000 до 400 000 ₽

Заказы с Хабр Фриланса

12 авг. 2023, в 05:44

5000 руб./за проект


Написать парсер цен криптовалют с бирж DEX

12 авг. 2023, в 02:44

500 руб./в час


Сделать приложение iOS на Flutter и выложить в App Store

12 авг. 2023, в 00:10

25000 руб./за проект

Минуточку внимания

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

As noted by dbenham’s comment, this is discussed by StackOverflow’s how to have multiple colors in a batch file?

However, this question doesn’t have an operating system tagged, and I’d like to add new information relevant to a newer operating system. Windows 10 has added support for ANSI Escape sequences.

Unfortunately, using these sequences does get to be a little bit harder due to handling of the 27th ASCII character.

Now, the trick to using ANSI Escape sequences is to send the 27th ASCII character to the screen. The reason this is tricky is because the keyboard key that is most commonly related to ASCII 27 is the Esc
key. (Это основная причина, по которой эти Escape-последовательности ANSI часто называют «escape-последовательностями».) И во многих программах есть специальная поддержка Esc
ключ. Эта специальная поддержка часто мешает простой отправке простого символа ASCII с номером 27.

Много раз люди обходили эту проблему, сохраняя 27-й символ в файле и просто копируя и вставляя символ по мере необходимости. Затем создание файла с большим количеством последовательностей ANSI включает в себя многократное использование 27-го символа ASCII, что может быть выполнимо с помощью копирования и вставки.

Однако есть и лучший подход. Просто введите символ ASCII в файл один раз и поместите его в переменную среды. Это хорошо работает в Windows 10 (и, насколько я читал, в терминалах UNIX). Затем вы можете просто сослаться на эту переменную среды.

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

Кроме того, вы можете создавать переменные среды. Итак, вместо чего-то вроде:

 echo %ASCII27%[31m Lava %ASCII27%[37m Cyan/Aqua/Teal text %ASCII27%[33m Sun
echo %ASCII27%[34m Water %ASCII27%[37m Sky %ASCII27%[33m Sun 

Вы можете использовать:

 SET ANSIREDFG=%ASCII27%[31m
SET ANSICYANFG=%ASCII27%[37m
SET ANSIYELLOWFG=%ASCII27%[33m
SET ANSIBLUEFG=%ASCII27%[34m
echo %ANSIREDFG% Lava %ANSICYANFG% Cyan/Aqua/Teal text %ANSIYELLOWFG% Sun
echo %ANSIBLUEFG% Water %ANSICYANFG% Sky %ANSIYELLOWFG% Sun 

Это может выглядеть ненамного короче. Преимущество здесь не обязательно в том, чтобы сделать файл красивее, но в том, что вы можете использовать более понятные имена (которые вы выбираете сами), например %ANSIBLUEFG%
чтобы использовать СИНИЙ в качестве цвета переднего плана, вместо того, чтобы помнить, какой цвет связан с каким числом. Это может быть намного быстрее для ввода и отладки (если вы не запомнили номера цветов).

Я создал ZIP-файл, содержащий:

  • ВНЕ. ОТВЕТ: пример файла ANSI, чтобы продемонстрировать это, содержащий несколько цветовых макетов в строке
  • АНСИКОЛ. BAT: пакетный файл, который использовался для создания этого файла ANSI, демонстрирующий использование имен переменных вместо частых числовых ссылок на номера цветов
  • ASCII27. BAT: создает переменную ASCII27, содержащую управляющую последовательность

Этот ZIP-файл находится в Демонстрация Windows 10 ANSI, версия 1
. Пакетный файл был сделан так, чтобы он хорошо работал с Windows 10. Благодаря использованию « %^%
” это может работать не так хорошо в некоторых старых операционных системах (но, вероятно, будет работать так, как ожидалось, если заменить «%^%» на «%  %»).

Если вам не хочется возиться с переменными окружения, вы можете попробовать просто скопировать и вставить коды прямо из файла out.ans (что может работать на удивление хорошо, если ваш текстовый редактор не испортит ASCII 27). характер).

я использую для этого версию 3.9. веселиться!

как пользоваться;

 BG.EXE is a tool for print text color in cmd.exe. It accepts regular expressions for print ascii characters. It also have useful functions.
Notice: This version fixes a problem happened on windows 7 sp1 with the function font.
::::: Parameters :::::
Kbd
::Wait until you press any key, and returns the ascii code.
::If an extended key was pressed, returns the second code plus 256. Example. If you pressed the up arrow (224, 72) returns 327 (72+256).
LastKbd
::If any key was pressed, returns the ascii code, else return 0.
::If the key pressed is extended, it returns the second code plus 256. Example. If you pressed the up arrow (224, 72) returns 327 (72+256).
Mouse
::Wait until you press primary button into console area.
::When you press a valid button of mouse print: rowNumber colNumber (both 0 index based).
::Also, is returned a number, where you can get the same info:
::Set /A "mouseRow=%ErrorLevel% >> 0x10 , mouseCol=%ErrorLevel% & 0xFFFF"
DateTime
::Print eight numbers, separated by a space, that corresponds to the current:
::DayOfWeek Year Month Day Hour Minute Second Milliseconds
::
::DayOfWeek value is from 0 to 6. 0 is Sunday, 1 is Monday, ..., 6 is Saturday
::Year value is from 1601 to 30827
::Month value is from 1 to 12
::Day value is from 1 to 31
::Hour value is from 0 to 23
::Minute value is from 0 to 59
::Second value is from 0 to 59
::Milliseconds value is from 0 to 999
Cursor 0 | 1 | 25 | 50 | 100
::hide or show cursor of keyboard or change the size.
::0 hide
::1 show
::25 small size
::50 medium size
::100 large size
Font 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
::change the size of font to terminal font according this next table:
:: index size
:: 0 4x6
:: 1 6x8
:: 2 8x8
:: 3 16x8
:: 4 5x12
:: 5 7x12
:: 6 8x12
:: 7 16x12
:: 8 12x16
:: 9 10x18
Sleep milliseconds
::do a wait or sleep in milliseconds. milliseconds should be greater than 0.
Locate row column
::locate the position of cursor in row and column specified (both 0 index based).
::if row is less than 0, is interpreted as 0.
::if row is greater than the max row (in the console screen buffer), is interpreted as the max row.
::if column is less than 0, is interpreted as 0.
::if column is greater than the max row (in the console screen buffer), is interpreted as the max row.
Print text
::print text without new line to end. The text can use oem escape sequences.
::please see the regular expressions in down.
Print color text ...
::print text in HEXADECIMAL color without new line to end. You can repeat arguments.
::the text recognize the next oem escape sequences:
\n print a newline
\\ print \
\Number HEXADECIMAL ascii number code from 00 to FF.
Example: \01 is face character
Example: \41 is A
Note 2: You can repeat arguments.
Example: BG.exe Print A "Text in color A" B "Text in color B"
FCPrint row column [color text ...]
::begin printing of colored text in the row and col (zero index based). The column is fixed.
::row and column can be outside the console screen buffer limits.
Play soundfile.wav [ntimes]
::play soundfile.wav from begin to the end
::if ntimes is specified the play is repeated the number of times specified.
::(this function is different from the utility sound.exe where the second parameter correspond to seconds.)
::::: Colours :::::
[background]foreground
colours values is a one hexadecimal (0123456789ABCDEF) digit for each concept.
0 = Black
1 = Blue
2 = Green
3 = Aqua
4 = Red
5 = Purple
6 = Yellow
7 = White
8 = Gray
9 = Light Blue
A = Light Green
B = Light Aqua
C = Light Red
D = Light Purple
E = Light Yellow
F = Bright White 

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

Добавил первый вопрос из заголовка, который мне на минувшую и эту неоднократно задавали.

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

Для проверки нажимаем клавиши Win + E
, открывается окно “Мой компьютер”. Нажимаем левый Alt
, в случае перехода меню Вид – Параметры и выбираем вкладку Вид
, внизу списка убираем галочки как на рисунке:

Настройки вида папок

Настройки вида папок

Жмём “Применить”, “Сброс вида папок”, “ОК”.

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

Создание текстового документа

Создание текстового документа

Вместо” Новый текстовый документ.txt
” вводим имя командного файла, например, ” my.bat
“:

Соглашаемся с предупреждением о смене типа файла.

Если у Вас ещё не установлен Notepad++
– сделать это, выбрав при установке русский язык и установить все остальные настройки по умолчанию. Редактор, в том числе, добавляет в меню, вызывает приложение правой кнопки мыши на файл, команду “Edit with Notepad++
Подсветка синтаксиса, подсказки, автозапоминание для всех форматов. установите кодировку для консоли в самом файле:

Команда chcp 65001 - это и есть установка UTF-8 для консоли

Команда chcp 65001 – это и есть установка UTF-8 для консоли

Потом пишите программу. Если она не требует аргументов комадной строки, запускать batch-файл можно как любое приложение двойным кликом мыши по файлу в папке, если эти аргументы нужны, поможет, например, командная строка. Нажимаем в Windows комбинацию клавиш Win + R
, вводим команду cmd
, жмём Enter
, переходим в нужную папку, где находится файл, например:

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


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

Здесь мы запустили из выбранной папки командный файл my
с четырьмя аргументами командной строки – abc
, def
, gh
и 999
.

Сначала приведём простую учебную “оболочку” для стандартной команды color
, которую можно сохранить под именем colors.bat
и запустить из командной строки или файл-менеджера
, например, так:

 colors 1 E 

Мы увидим, что будет, если в консоли отдать команду

 color 1E 

Вот листинг файла colors.bat
:

 @echo off
chcp 65001 >nul
cls
title Цвета консоли
if '%1'=='' goto error1
if '%2'=='' goto error1
for %%a in (0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F) do if %%a==%1 goto ok1
goto error2
:ok1
for %%a in (0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F) do if %%a==%2 goto ok2
goto error3
:ok2
if '%1'=='%2' goto error4
:start
color %1%2
echo Вот что вышло командой color %1%2
goto end
:error1
echo Запускайте программу с двумя аргументами от 0 до F, например
echo mycolors 2 d
goto end
:error2
echo Неверный аргумент %1
goto end
:error3
echo Неверный аргумент %2
goto end
:error4
echo Аргументы 1 и 2 должны быть разными, иначе color не работает
:end
echo Нажмите Enter для выхода
pause >nul
title %comspec%
color 07 

С современным расширенным синтаксисом батников и escape-последовательностями
, поддерживаемыми консолью Windows 10, можно сделать гораздо больше фокусов, но и код будет выглядеть куда шаманистей.

Не будем писать ещё одну “обёртку” для консольной команды color
, а просто покажем основные цвета консоли, этот файл типа .bat
выполнялся в актуальной сборке Windows 10 из-под файл-менеджера:

 @echo off
setlocal
cls
for /F "delims=#" %%E in ('"prompt #$E# & for %%E in 
do rem"') do set "esc=%%E" echo. for %%1 in (0,1) do ( for /l %%2 in (30,1,37) do ( for /l %%3 in (40,1,47) do ( 0>nul set /p=%esc%[%%1;%%2;%%3m test %esc%[m ) echo. ) )

Скрин вывода этого файла (фрагмент экрана)


Скрин вывода этого файла (фрагмент экрана)

Сработало и в однобайтовой кодировке batch-файла (например, Windows-1251 – кириллица Windows), и в кодировке Юникода UTF-8, при необходимости есть команда chcp
.

Главное – ухитриться залимонить в bat-файл вывод символа с кодом 27, чтобы делать escape-последовательности. См. хитрый for
в четвёртой строке.


К этой статье пока нет комментариев, Ваш будет первым

When i run the batch file on VS code, the color does not appear and shows the raw code.

 echo off
echo %ESC%[42mCan support unscramble your logs?%ESC%[0m 

When i run the code manually, it does not show the color and show the raw code as well.

 echo %ESC%[42mCan support unscramble your logs?%ESC%[0m 

enter image description here

Yesterday i tried to run this batch file on VS code and the color changed.

However for cmd.exe, it will still display the raw code without any colors.

asked Aug 10, 2020 at 2:30

JAYY's user avatar

You need to define the ESC
environment variable:

 for /F %a in ('echo prompt $E ^| cmd') do @set "ESC=%a" 
 echo ^<ESC^>[4m %ESC%[4mUnderline Underline%ESC%[0m
echo ^<ESC^>[32m %ESC%[32mGreen Green Green%ESC%[0m
echo ^<ESC^>[33m %ESC%[33mYellow Yellow Yellow%ESC%[0m 

enter image description here

 @ECHO OFF
SETLOCAL EnableExtensions DisableDelayedExpansion
for /F %%a in ('echo prompt $E ^| cmd') do ( set "ESC=%%a"
)
echo ^<ESC^>[4m %ESC%[4mUnderline DisableDelayedExpansion%ESC%[0m
SETLOCAL EnableDelayedExpansion
echo !ESC![101;93m STYLES !ESC![0m
echo ^<ESC^>[4m !ESC![4mUnderline!ESC![0m
echo ^<ESC^>[0m !ESC![0mReset!ESC![0m
echo ^<ESC^>[1m !ESC![1mBold!ESC![0m
echo ^<ESC^>[7m !ESC![7mInverse!ESC![0m
echo.
echo !ESC![101;93m NORMAL FOREGROUND COLORS !ESC![0m
echo ^<ESC^>[30m !ESC![30mBlack!ESC![0m (black)
echo ^<ESC^>[31m !ESC![31mRed!ESC![0m
echo ^<ESC^>[32m !ESC![32mGreen!ESC![0m
echo ^<ESC^>[33m !ESC![33mYellow!ESC![0m
echo ^<ESC^>[34m !ESC![34mBlue!ESC![0m
echo ^<ESC^>[35m !ESC![35mMagenta!ESC![0m
echo ^<ESC^>[36m !ESC![36mCyan!ESC![0m
echo ^<ESC^>[37m !ESC![37mWhite!ESC![0m
echo.
echo !ESC![101;93m NORMAL BACKGROUND COLORS !ESC![0m
echo ^<ESC^>[40m !ESC![40mBlack!ESC![0m
echo ^<ESC^>[41m !ESC![41mRed!ESC![0m
echo ^<ESC^>[42m !ESC![42mGreen!ESC![0m
echo ^<ESC^>[43m !ESC![43mYellow!ESC![0m
echo ^<ESC^>[44m !ESC![44mBlue!ESC![0m
echo ^<ESC^>[45m !ESC![45mMagenta!ESC![0m
echo ^<ESC^>[46m !ESC![46mCyan!ESC![0m
echo ^<ESC^>[47m !ESC![47mWhite!ESC![0m (white)
echo.
echo !ESC![101;93m STRONG FOREGROUND COLORS !ESC![0m
echo ^<ESC^>[90m !ESC![90mWhite!ESC![0m
echo ^<ESC^>[91m !ESC![91mRed!ESC![0m
echo ^<ESC^>[92m !ESC![92mGreen!ESC![0m
echo ^<ESC^>[93m !ESC![93mYellow!ESC![0m
echo ^<ESC^>[94m !ESC![94mBlue!ESC![0m
echo ^<ESC^>[95m !ESC![95mMagenta!ESC![0m
echo ^<ESC^>[96m !ESC![96mCyan!ESC![0m
echo ^<ESC^>[97m !ESC![97mWhite!ESC![0m
echo.
echo !ESC![101;93m STRONG BACKGROUND COLORS !ESC![0m
echo ^<ESC^>[100m !ESC![100mBlack!ESC![0m
echo ^<ESC^>[101m !ESC![101mRed!ESC![0m
echo ^<ESC^>[102m !ESC![102mGreen!ESC![0m
echo ^<ESC^>[103m !ESC![103mYellow!ESC![0m
echo ^<ESC^>[104m !ESC![104mBlue!ESC![0m
echo ^<ESC^>[105m !ESC![105mMagenta!ESC![0m
echo ^<ESC^>[106m !ESC![106mCyan!ESC![0m
echo ^<ESC^>[107m !ESC![107mWhite!ESC![0m
echo.
echo !ESC![101;93m COMBINATIONS !ESC![0m
echo ^<ESC^>[31m !ESC![31mred foreground color!ESC![0m
echo ^<ESC^>[7m !ESC![7minverse foreground ^<-^> background!ESC![0m
echo ^<ESC^>[7;31m !ESC![7;31minverse red foreground color!ESC![0m
echo ^<ESC^>[7m and nested !ESC![31m !ESC![7mbefore !ESC![31mnested!ESC![0m
echo ^<ESC^>[31m and nested !ESC![7m !ESC![31mbefore !ESC![7mnested!ESC![0m 

answered Aug 10, 2020 at 9:08

JosefZ's user avatar

5 gold badges
36 silver badges
67 bronze badges

there is of course many ways you can make use of ascii escape codes for color output, including using RGB color schemes. here is one such example.

 @Echo Off & Setlocal DisableDelayedExpansion
mode 170,40
::: { Creates variable /AE = Ascii-27 escape code.
::: - %/AE% can be used with and without DelayedExpansion. For /F %%a in ('echo prompt $E ^| cmd')do set "/AE=%%a"
::: }
(Set \n=^^^
%=Newline DNR=%
)
::: / Color Print Macro -
::: Usage: %Print%{RRR;GGG;BBB}text to output
::: \n at the end of the string echo's a new line
::: valid range for RGB values: 0 - 255 Set Print=For %%n in (1 2)Do If %%n==2 (%\n% For /F "Delims=" %%G in ("!Args!")Do (%\n% For /F "Tokens=1 Delims={}" %%i in ("%%G")Do Set "Output=%/AE%[0m%/AE%[38;2;%%im!Args:{%%~i}=!"%\n% ^< Nul set /P "=!Output:\n=!%/AE%[0m"%\n% If "!Output:~-2!"=="\n" (Echo/^&Endlocal)Else (Endlocal)%\n% )%\n% )Else Setlocal EnableDelayedExpansion ^& Set Args=
::: / Erase Macro -
::: Usage: %Erase%{string of the length to be erased} Set Erase=For %%n in (1 2)Do If %%n==2 (%\n% For /F "Tokens=1 Delims={}" %%G in ("!Args!")Do (%\n% Set "Nul=!Args:{%%G}=%%G!"%\n% For /L %%# in (0 1 100) Do (If Not "!Nul:~%%#,1!"=="" ^< Nul set /P "=%/AE%[D%/AE%[K")%\n% )%\n% Endlocal%\n% )Else Setlocal EnableDelayedExpansion ^& Set Args=
rem // usage example %Print%{150;75;50}This is a Demo %Print%{140;60;120} of same line multicolor output.\n %Print%{75;190;150}Includes End Of Line marker. Timeout 1 /NoBreak > Nul %Erase%{marker.} %Print%{150;150;80}marker and erase macro.\n 

answered Aug 10, 2020 at 18:16

T3RR0R's user avatar

3 silver badges
7 bronze badges

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

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

 for %%i in (a b c) do (	cmd
) 
 for %%i in (a b c) do cmd 

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

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

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

 @echo off
chcp 65001
echo Начало
for /l %%i in (1 1 10) do echo %%i
echo Конец
pause 

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

P. S. строки нужно брать в кавычки “%str%”==”Hello”

 @echo off
set /p a=Enter number
if a gtr 0 echo positive else\
if a equ 0 echo 0 else echo negative
pause 

в 3-ей строке, если “a” > 0 выводиться “положительный”(на английском 🙂 ), если равен – 0,в 4-ой если меньше – “отрицательный”

символ “\” означает, что команда продолжается на следующей строке

Переменные

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

 set a=Hello world 

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

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

     set a=2+2
    > 2+2
    set /a a=2+2
    > 4 
  2. Переменной можно присвоить ТОЛЬКО числовое значение

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

 set /a a=%b%+%b%
echo %a% 

Дисклеймер

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

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

не эта :)
не эта 🙂

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

 rem Это самая лучшая прога в мире!!!!! 

Код включает русские символы и другие из ascii(например: “╬▓☼”, можно скопировать с http://pascalguru.ru/psevdograf.html

), иначе ascii символы превратятся в кракозябры:

 chcp 65001 

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

 :m
goto m 

А этот – меняет заголовок окна на “name”

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

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

 color ab 
Таблица
Таблица

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

 exit 

Метки

Создадите файл start.bat в той же папке, где и test.bat, напишите в нем:

 test.bat 2 2 

Мы запустили батник, НО подали в него аргументы 2 и 2. Чтобы к ним обратиться, нужно написать %n, где “n” – номер аргумента, считая от одного(не от нуля), вот код, считающий сумму первого и второго аргумента (их может быть от нуля до 9-и):

 @echo off
set /a res=%1+%2
echo res
pause 

Метка – это именованное место в коде, она создается с помощью команды “:name”

А этот переходит на метку :m и продолжает выполнение, начиная с нее

 rem куча кода
:m
rem куча кода
goto m
rem куча кода 

И в завершение статьи, хочу сказать о команде call. Она превращает в последующей команде “%%” в “%”, а переменные – на их значения. Пример использования:

 call echo %%str:~%a%,%b%%% 

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

Если добавить флаг “/p”, то выводиться значение после символа “=”, а переменной задается введенное значение(запустите этот код:)

 @echo off
set /p a=Enter str
echo %a%
pause 

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

 %str:~a,b% 

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

 %str:a=b% 
:/>  Как сделать чтобы windows 7 не загрузился или