Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - пример BAT-файла, который будет вносить коррективы в .cfg файл

Ответить
Настройки темы
CMD/BAT - пример BAT-файла, который будет вносить коррективы в .cfg файл

Аватара для Ka3hak

Новый участник


Сообщения: 16
Благодарности: 1

Профиль | Отправить PM | Цитировать


Изменения
Автор: Ka3hak
Дата: 02-06-2017
Уважаемые, знающие форумчане. Подскажите пожалуйста абсолютно нулевому в этом деле затейнику
Не занимался я освоением BAT, потому как думал - обошёл это, мол.. Бог миловал. Но не тут-то было! И нет времени на освоение с нуля.
Чутка предыстории, позвольте.
Начал разработку оболочки для настройки эмулятора игровой приставки. Она должна быть визуальна понятной и доступной для рядового пользователя,
всё должно делаться чуть ли не с одной кнопки. Жалко коллег-форумчан RuTracker-а у которых уже головы пухнут от постоянных, однотипных объяснений типа:
"Нажмите то, потом то... Не помогло? Тогда вот это!" и т.д. Ну, в общем вы поняли. Хочу помогать людям
Графическую составляющую я уже "победил", а все необходимые настройки планирую вносить/выполнять по средствам BAT-файлов.
К делу. Мне нужен пример BAT-файла, который будет вносить коррективы в .cfg файл. Причём, как я понимаю нет необходимости
отыскивать там какой-то определённый раздел. Просто BAT-ник находит, к примеру, строку Dynarec.Enabled=1 и изменяет её на Dynarec.Enabled=0,
или DefaultImage=defualt.gdi на DefaultImage=image.gdi
Т.е. не обязательно 1 на 0, или defualt на image.. можно строку пОлностью. Так мне кажется даже проще будет.
Вот так, просто.. пожалуйста. Без эпических супер-кодов. Чтобы и я мог понять что происходит. Потому, как мне с этим в дальнейшем работать.

.cfg файл примерно такого содержания:
[nullDC]
Dynarec.Enabled=1
DefaultImage=defualt.gdi

Dynarec.DoConstantPropagation=1
Dynarec.SafeMode=1
Dynarec.UnderclockFpu=0
Dreamcast.Cable=3
Dreamcast.RTC=2127595098
Dreamcast.Region=3
Dreamcast.Broadcast=4
Emulator.AutoStart=0
Emulator.NoConsole=0

Отправлено: 20:05, 02-06-2017

 

Ветеран


Contributor


Сообщения: 1307
Благодарности: 759

Профиль | Отправить PM | Цитировать


Ka3hak, как Вы пытаетесь это делать? Не очень помню предыдущую постановку, имхо там были параметры типа
Что то= чему то
Здесь другой случай. Ставьте четко задачу.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 18:50, 10-06-2018 | #21



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Ka3hak

Новый участник


Сообщения: 16
Благодарности: 1

Профиль | Отправить PM | Цитировать


megaloman да всё то же самое. Только параметры вида: "#define USE_SPLITSCREEN 1", а не "BufferSize=2048"
Что бы уж наверняка, то вот "огрызок" того самого конфига, в который необходимо внести изменения:
Огрызок
/*-----------------------------------------------------------.
/ Description /
'------------------------------------------------------------/

Game:
Author:
SweetFX version: 1.5
Description:

Please note when tweaking settings that higher numbers does not always equal better (nor does lower).
Finding the best settings for your game and your taste is about finding just the right amount to apply.

If you made a good setttings preset please share it with your friends, on forums and websites,
and/or submit it to the SweetFX Settings Database :

This description field and the above Game and Author fields are here so you can fill in your own details for the presets you create.
Just delete this description and fill in your own and then share it with the world.

Hope you enjoy my mod.
- CeeJay.dk

/*-----------------------------------------------------------.
/ Choose effects /
'-----------------------------------------------------------*/

// Set to 1 for ON or 0 for OFF
#define USE_SMAA_ANTIALIASING 1 //[0 or 1] SMAA Anti-aliasing : Smoothens jagged lines using the SMAA technique.
#define USE_FXAA_ANTIALIASING 0 //[0 or 1] FXAA Anti-aliasing : Smoothens jagged lines using the FXAA technique. WIP - Currently only works in DX9 and you need to use the FXAA injector dlls.
#define USE_EXPLOSION 0 //[0 or 1] Explosion : Scatters the pixels, making the image look fuzzy.
#define USE_CARTOON 1 //[0 or 1] Cartoon : "Toon"s the image. (Interferes with SMAA, CRT, Bloom, HDR and Lumasharpen)
#define USE_ADVANCED_CRT 0 //[0 or 1] Advanced CRT : Simulates an old CRT TV display. (Interferes with SMAA, Cartoon, Bloom, HDR and Lumasharpen, and it has a very high performance cost)
#define USE_BLOOM 1 //[0 or 1] Bloom : Makes bright lights bleed their light into their surroundings (relatively high performance cost)
#define USE_HDR 1 //[0 or 1] HDR : Not actual HDR - It just tries to mimic an HDR look (relatively high performance cost)
#define USE_LUMASHARPEN 1 //[0 or 1] LumaSharpen : Also sharpens the antialiased edges which makes them less smooth - I'm working on fixing that.
#define USE_LEVELS 0 //[0 or 1] Levels : Sets a new black and white point. This increases contrast but causes clipping. Use Curves instead if you want to avoid that.
#define USE_TECHNICOLOR 0 //[0 or 1] TECHNICOLOR : Attempts to mimic the look of an old movie using the Technicolor three-strip color process (Techicolor Process 4)
#define USE_DPX 0 //[0 or 1] Cineon DPX : Should make the image look like it's been converted to DXP Cineon - basically it's another movie-like look similar to technicolor.
#define USE_MONOCHROME 0 //[0 or 1] Monochrome : Monochrome makes the colors disappear.
#define USE_LIFTGAMMAGAIN 0 //[0 or 1] Lift Gamma Gain : Adjust brightness and color of shadows, midtones and highlights
#define USE_TONEMAP 0 //[0 or 1] Tonemap : Adjust gamma, exposure, saturation, bleach and defog. (may cause clipping)
#define USE_VIBRANCE 1 //[0 or 1] Vibrance : Intelligently saturates (or desaturates if you use negative values) the pixels depending on their original saturation.
#define USE_CURVES 0 //[0 or 1] Curves : Contrast adjustments using S-curves.
#define USE_SEPIA 1 //[0 or 1] Sepia : Sepia tones the image.
#define USE_VIGNETTE 0 //[0 or 1] Vignette : Darkens the edges of the image to make it look more like it was shot with a camera lens. May cause banding artifacts.
#define USE_DITHER 0 //[0 or 1] Dither : Applies dithering to simulate more colors than your monitor can display. This lessens banding artifacts (mostly caused by Vignette)
#define USE_BORDER 0 //[0 or 1] Border : Makes the screenedge black as a workaround for the bright edge that forcing some AA modes sometimes causes.
#define USE_SPLITSCREEN 1 //[0 or 1] Splitscreen : Enables the before-and-after splitscreen comparison mode.

Не получается внести изменения в параметр #define USE_SPLITSCREEN ..

Отправлено: 19:48, 10-06-2018 | #22


Ветеран


Contributor


Сообщения: 22789
Благодарности: 6612

Профиль | Отправить PM | Цитировать


Цитата Ka3hak:
megaloman да всё то же самое. »
Ka3hak, вот совсем не «то же самое».
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:18, 10-06-2018 | #23


Аватара для Ka3hak

Новый участник


Сообщения: 16
Благодарности: 1

Профиль | Отправить PM | Цитировать


Iska имею ввиду поставленную задачу.

Последний раз редактировалось Ka3hak, 10-06-2018 в 20:48.


Отправлено: 20:26, 10-06-2018 | #24


Ветеран


Contributor


Сообщения: 1307
Благодарности: 759

Профиль | Отправить PM | Цитировать


Ka3hak, Делать на CMD обработку текстовых файлов - занятие сродни посадке кукурузы за полярным кругом. Урожай не гарантирован. Не берусь утверждать, что скрипт отработает для любых файлов.
Решаю задачу: в текстовом файле имеются строки вида:
ключевое_слово параметр значение комментарий (всё через пробелы)
В ключевом_слове, параметре, значении пробелов не должно быть.
Заменяются перечисленные в скрипте "параметр значение"
Код: Выделить весь код
@Echo Off
Set "FileIn=Z:\Box_In\тра ля ля.cfg"
Set "Keyword=#define"
Set Param="USE_SPLITSCREEN 11111111" "USE_MONOCHROME 000000000"

Set "FileTmp=%FileIn%.tmp" 

>"%FileTmp%" (
	FOR /F "usebackq delims=" %%s IN ("%FileIn%") DO Call :Analysys "%%s" &&Echo %%s
)
Copy "%FileIn%" "%FileIn%.bak" >nul
Move /Y "%FileTmp%" "%FileIn%" >nul
GoTo :Eof

:Analysys
	FOR /F "tokens=1,2,3* delims= " %%i IN (%1) DO Call :Output "%%i" "%%j" "%%k" "%%l" %Param% &&Exit /B 0 
GoTo :Eof

:Output
	If /I Not "%~1"=="%Keyword%" Exit /B 0
	:Begin
		If "%~5"=="" Exit /B 0
	FOR /F "tokens=1,2 delims= " %%a IN (%5) DO If /I Not "%%a"=="%~2" Shift /5 &GoTo :Begin
	Echo %Keyword% %~5 %~4
Exit /B 1
Здесь ключевое_слово прописано как #define
Перечислены изменяемые параметры со значениями "USE_SPLITSCREEN 11111111" "USE_MONOCHROME 000000000"
Их может быть несколько, в частности, и какой-то один.
Примечание: После работы скрипта пустые строки исходного файла будут потеряны.
Цитата megaloman:
Не очень помню предыдущую постановку, имхо там были параметры типа
Что то= чему то
Здесь другой случай. »

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 12-06-2018 в 15:04.

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:50, 12-06-2018 | #25


Аватара для Ka3hak

Новый участник


Сообщения: 16
Благодарности: 1

Профиль | Отправить PM | Цитировать


ВСЁ ПРЕКРАСНО!!!
Цитата megaloman:
Не берусь утверждать, что скрипт отработает для любых файлов. »
Главное что всё рабатает в нужном мне .txt-файле.

Отправлено: 05:15, 14-06-2018 | #26



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - пример BAT-файла, который будет вносить коррективы в .cfg файл

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - bat файл, который создаст 2 bat файла mazahaka2000@vk Скриптовые языки администрирования Windows 1 17-06-2015 22:07
CMD/BAT - [решено] bat файл, при запуске которого в файле .cfg стирался весь текст и вставлялся новый kennydzzze Скриптовые языки администрирования Windows 3 21-07-2014 10:53
CMD/BAT - bat который будет дописывать строки в конец файла infoman1@vk Скриптовые языки администрирования Windows 9 11-07-2014 22:21
CMD/BAT - bat который будет дописываться в exe infoman1@vk Скриптовые языки администрирования Windows 1 10-06-2014 18:39
CMD/BAT - [решено] Создание bat который будет создавать другой bat для создания 3 root13 Скриптовые языки администрирования Windows 5 27-10-2013 15:46




 
Переход