Имя пользователя:
Пароль:
 | Правила  

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

Ответить
Настройки темы
CMD/BAT - Изменить настройки в *.ini файле через *.bat

Пользователь


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

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


Помогите пожалуйста сделать батник, изменяющий настройки в *.ini файле.
Есть файл file.ini в нем есть такие стороки:

Server_address=XXX.XXX.XXX.XXX
Server_port=XXXX

Как с помощью *.bat файла изменить значения адреса сервера и порта?
P.s текущее значения в ини файле не постоянные. То есть они могут меняться.

Отправлено: 21:54, 29-04-2010

 

Ветеран


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

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


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

Отправлено: 13:20, 04-12-2014 | #41



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

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


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


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

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


Мммм... даже не знаю, что ещё добавить к тому что уже написал. Начну заново.
Есть текстовой файл - file.txt . Со следующим содержанием:
Код: Выделить весь код
4 29
5 50978
130
131 10107
132 201204
133 1
134 1
Мне нужен такой батник, при запуске которого была бы возможность вручную изменять значение (в данном примере значение 10107), сначала, в строке 131, а затем, значение (в примере - 201204) в строке 132 этого текстового файла. Изменяемые строки всегда будут начинаться со 131 и 132, с пробелами.
Этот файл по-умолчанию, всегда, находится по пути "C:\DirSYS\file.txt".

Отправлено: 21:25, 04-12-2014 | #42


Ветеран


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

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


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

Отправлено: 23:36, 04-12-2014 | #43


Ветеран


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

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


Цитата Georgio:
<...> прикрепите архив с Вашим текстовым файлом к сообщению. »
Цитата Iska:
KDash, архив просят прикладывать вовсе не случайно. »


Ну что с Вами делать?.. Держите ("на Ваш страх и риск"):


Код: Выделить весь код
@echo off

set "file=C:\DirSYS\file.txt"

for %%i in ("131" "132") do (
 echo Enter the new value for %%i.& echo.& set /p "%%~i="& echo.& echo.
 for /f "delims=" %%j in ('
  "type "%file%"&&>"%file%" type nul||>nul timeout 3&&>&2 (echo.& echo.& echo.)"
 ') do (
  for /f %%k in ("%%j") do (
   if "%%k" equ %%i (
    cmd /v:on /c echo %%~i !%%~i!
   ) else (
    echo %%j
   )
   )>>"%file%"
  )
 )

exit /b

.


Данный код можно использовать и для изменения любого количества других аналогичных значенй. Куда, как и что вписывать, думаю, догадаетесь.
Это сообщение посчитали полезным следующие участники:

Отправлено: 05:30, 05-12-2014 | #44


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


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

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


Изображения
Тип файла: jpg IMG_8226.jpg
(69.2 Kb, 26 просмотров)

Возвращаюсь к предоставленному мне коду. Очень помогло это решение, спасибо. Но возникла очередная задача - сделать загрузочную дискету с этим кодом. Если просто вставлять код в Autoexec.bat или загрузится с загрузочной дискеты DOS и потом уже запустить батник с этим кодом, то команда не срабатывает, указывая на ошибку синтаксиса или плохую команду... Подскажите, что нужно дописать в autoexec.bat, config.sys, чтобы команда срабатывала при загрузке с загрузочной дискеты (флешки) MS-DOS?

Отправлено: 15:46, 29-04-2015 | #45


Ветеран


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

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


KDash, данный код не предназначен для DOS.

Отправлено: 16:48, 29-04-2015 | #46


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


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

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


Iska, ясно.
А можно ли сделать загрузочную дискету (флеш) не с DOS? Какая загрузочная среда сможет понять данный синтаксис?

Отправлено: 09:48, 05-05-2015 | #47


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


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

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


В чем может быть проблема батник работает только если сам создал изменяемый файл " file.ini" ... с файлом который создало сторонее приложение не работает ...

Скрытый текст
@Echo Off

CALL :REPLINE "file.ini" "Server_address=" "Server_address=192.1.1.1"
CALL :REPLINE "file.ini" "Server_port=" "Server_port=8080"

:REPLINE
If Not Exist "%~1" Exit /B 1
If Exist "%~dpn1.tmp" DEL /F/Q "%~dpn1.tmp"

Set $N=0& For /F "Delims=:" %%i In ('FindStr /BINRC:" *%~2" "%~1"') Do Set $N=%%i
If %$N% NEQ 0 For /F "Tokens=1* Delims=:" %%i In ('FindStr /ENRC:"$" "%~1"') Do If "%%i"=="%$N%" (
Echo %~3 >>"%~dpn1.tmp" ) ELSE Echo.%%j>>"%~dpn1.tmp"

If Exist "%~dpn1.tmp" If Exist "%~1" DEL /F/Q "%~1"
If Exist "%~dpn1.tmp" REN "%~dpn1.tmp" "%~nx1"
Exit /B 0

Последний раз редактировалось assa-as, 13-10-2017 в 16:34.


Отправлено: 12:30, 13-10-2017 | #48


Ветеран


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

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


Цитата assa-as:
В чем может быть проблема батник работает только если сам создал изменяемый файл " file.ini" ... с файлом который создало сторонее приложение не работает ... »
Например, в кодировке «file.ini». Упакуйте Ваш оригинальный, созданный этим самым сторонним приложением, «file.ini» в архив, каковой приложите к сообщению. Посмотрим.
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:40, 13-10-2017 | #49


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


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

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


Цитата Iska:
Например, в кодировке «file.ini». Упакуйте Ваш оригинальный, созданный этим самым сторонним приложением, «file.ini» в архив, каковой приложите к сообщению. Посмотрим. »
ну понятно что файл взял при выключенной самозащите , остановленной службе и и остановленных процессах

https://www.upload.ee/files/7553883/sett.rar.html

Последний раз редактировалось assa-as, 13-10-2017 в 17:47.


Отправлено: 16:14, 13-10-2017 | #50



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Система - Что у Вас в файле Finish.ini для GUI интегратора? wolkow70 Наборы обновлений для Windows XP/2003/Windows 7 13 15-01-2011 02:07
[решено] Скрипт для удаления нужных слов в ini файле Pozia AutoIt 23 27-10-2009 18:42
Любой язык - Проверка сетевых ресурсов в BAT-файле chkur Скриптовые языки администрирования Windows 1 03-12-2008 12:39
Решено | Можно ли задать параметры в файле boot.ini пред инсталляцией? botvin Автоматическая установка Windows 2000/XP/2003 2 15-04-2006 02:46




 
Переход