Замена определенной линии в партии и чтение и урегулирование, что я прочитал как переменная

Я хотел сделать меню как это:

mode 59, 300
set line===========================================================
echo %line%
echo         Tool colour menu!
echo %line%
Echo.
echo     Choose your BACKGROUND colour!
echo.
echo         1  =   Blue        
echo         2  =   Green       
echo         3  =   Aqua        
echo         4  =   Red     
echo         5  =   Purple      
echo         6  =   Yellow      
echo         7  =   White
echo         8  =   Gray
echo         9  =   Light Blue
echo         10 =   Light Green
echo         11 =   Light Aqua
echo         12 =   Light Red
echo         13 =   Light Purple
echo         14 =   Light Yellow
echo         15 =   Bright White
echo.
set /p background_app=Enter the number of the colour that you want for background (or enter for default):

Так, чтобы меню было бы background_app переменной!

И затем:

mode 59, 300
set line===========================================================
echo %line%
echo         Tool color menu!
echo %line%
Echo.
echo     Choose your TEXT color!
echo.
echo         1  =   Blue        
echo         2  =   Green       
echo         3  =   Aqua        
echo         4  =   Red     
echo         5  =   Purple      
echo         6  =   Yellow      
echo         7  =   White
echo         8  =   Gray
echo         9  =   Light Blue
echo         10 =   Light Green
echo         11 =   Light Aqua
echo         12 =   Light Red
echo         13 =   Light Purple
echo         14 =   Light Yellow
echo         15 =   Bright White
echo.
set /p text_app=Enter the number of the color that you want for text (or enter for default):

Это было бы переменной %text_app %

После ввода данных пользователем я хотел спасти этому переменные в txt файле, таким образом, я мог восстановить ценности позже на всякий случай, пользователь управляет инструментом (чтобы держать цвета, которые человек выбирает),

Но в настоящее время я пробовал:

:saveVars
(
ECHO Backuground=%background_app%
ECHO Text=%text_app%
) >colors.txt
GOTO :EOF

Например, это спасет как это:

Background=1
Text=7

И теперь прибывает дилемма, потому что я хотел прочитать только стоимость от colors.txt и установить ее как переменные как:

%background_apptxt%
%text_apptxt%

Как я могу прочитать только ценность Фона и текста? Спасибо за вашу помощь:)


Хорошо довольно легко понять ДЛЯ, но например:

Colors.txt содержит это линии:

Background=1
Text=2

Так, например, я использовал эту партию, создают испытательную партию:

@echo off
set background_app=black
set text_app=green

:saveVars
(
ECHO Background=%background_app%
ECHO Text=%text_app%
) >colors.txt

for /f "tokens=1,2 delims==" %%A in (colors.txt) do set "%%A_app=%%B"

Как я повторяю %background_app % и повторяю снова %text_app %?Thank you

1

2 ответы

Используйте ДЛЯ/F петли, чтобы прочитать и разобрать каждую линию. Можно установить символический разделитель = , таким образом, вы получаете 2 символа.

for /f "tokens=1,2 delims==" %%A in (colors.txt) do set "%%A_app=%%B"

Кодекс мог быть еще легче, если ваш текстовый файл содержит полное имя каждой переменной. Тогда вы могли просто использовать

for /f "delims=" %%A in (colors.txt) do set "%%A"
1
добавлено

Хорошо найденный альтернативой, чтобы спасти и читать от ini:

http://www.horstmuc.de/wbat32.htm#inifile

Надеюсь, что кто-то считает это столь же полезным, как я делаю:)

0
добавлено
Про Windows
Про Windows
941 участник(ов)

Microsoft Windows и всё, что с этим связано. Список интересных групп и каналов: https://github.com/goq/telegram-list

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot