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

Компьютерный форум 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

 

Ветеран


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

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


Прошу пояснить скрипт amel27 в посте 13 для понимания и применения к своей задаче

Отправлено: 09:11, 16-05-2012 | #31



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

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


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


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

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


Помогите решить проблему

Описание: Смысл такой что бы файл который находится в паке "D:\TEST\11111111111\84\update\script.sql"
нужно скопировать и положить в каждую папку !

и если получится сделать так что бы в файле "script.sql"
UPDATE DEFAULT_SETTINGS SET VALUE = '69001' WHERE NAME = 'TERMINAL_NAME';

Менять значение нашедшое к папке.

К примеру: в папке 84 лежит файл "script.sql"в нем хадодится текст: "UPDATE DEFAULT_SETTINGS SET VALUE = '69001' WHERE NAME = 'TERMINAL_NAME';" и цифра которая виделана жирным менялась в соотношении названии папки..

папка "84" изменялось в фале "script.sql" значение 69001
папка "100" "script.sql" значение 69002
папка "101" "script.sql" значение 69002
и т.д.п до 254 папки

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

Последний раз редактировалось sanchoas, 23-07-2013 в 15:15. Причина: не выделил жирным нужный текст


Отправлено: 15:13, 23-07-2013 | #32


Ветеран


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

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


sanchoas, ещё раз, и, пожалуйста — по-русски.

Отправлено: 15:38, 23-07-2013 | #33


Старожил


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

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


sanchoas,
А по чему именно в этой теме "Изменить настройки в *.ini файле через *.bat" задали свой вопрос???!!!

Отправлено: 15:40, 23-07-2013 | #34


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


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

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


Стала такая задача: 1 файл script.txt раскидать по 250 папкам
но так что бы текст в файле менялся в периодичности с названием папки.

Текст в нутри файла script.txt UPDATE DEFAULT_SETTINGS SET VALUE = '69001' WHERE NAME = 'TERMINAL_NAME';

название папки "84" изменялось в фале "script.sql" значение 69001
название папка "100" "script.sql" значение 69002
название папка "101" "script.sql" значение 69002
и т.д.п до 250 папки

Можно сделать Батьник что бы он раскидал это файл по 250 папкам и изменил значение в этом файле ???

название папка "100" "script.sql" значение 69001
название папка "101" "script.sql" значение 69002
название папка "102" "script.sql" значение 69003
название папка "103" "script.sql" значение 69004
название папка "104" "script.sql" значение 69005
название папка "105" "script.sql" значение 69006

ну и так далее...

Отправлено: 15:47, 23-07-2013 | #35


Ветеран


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

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


sanchoas, делайте. Я — пас.

Отправлено: 16:23, 23-07-2013 | #36


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


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

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


Есть файл с названием script.txt лежит в папке с названием 100. Таких папок у меня 254 и в каждой из них лежит файл "script.txt"


Текст внутри файла script.txt :
UPDATE DEFAULT_SETTINGS SET VALUE = '69001' WHERE NAME = 'TERMINAL_NAME';

мне надо что бы Батьником изменить в каждом файле значение "69001" в соотношении с папкой

папка 100 значение в тексте файла 69001
папка 101 значение в тексте файла 69001
папка 102 значение в тексте файла 69001

а мне нужно что бы было так:
папка 100 значение в тексте файла 69001
папка 101 значение в тексте файла 69002
папка 102 значение в тексте файла 69003

и так далее... Очень горящий вопрос... помогите пожалуйста

ECHO ON
for /l %%i in (100,1,254) do (copy "D:\TEST\11111111111\84\update\script.sql" "D:\TEST\11111111111\%%i\update\")

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

( как 1 файл роскидать по папкам )

Отправлено: 16:29, 23-07-2013 | #37


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


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

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


Прошу прощения, что занимаюсь некрофилией, но мой вопрос уместен в этой теме.
Также нуждаюсь в батнике, который бы менял 2 значения в следующем варианте текстового файла:
Код: Выделить весь код
4 29
5 50978
130
131 10107
132 201204
133 1
134 1
То есть 2 строки: 131 и 132, изменяемое значение вручную: 10107 и 201204

Если брать за основу код товарища El Sanchez-а:
Код: Выделить весь код
@Echo Off
Setlocal ENABLEDELAYEDEXPANSION

Set "PathIniFile=C:\temp\test"
Set "IniFile=test.ini"
Set Count=1

Set /P "IP=Enter IP-address: "
Set /P "Port=Enter number of port: "

For /F "Tokens=1,2* Delims=:=" %%A In ('Findstr /IN . "%PathIniFile%\%IniFile%"') Do (
	Call :Func "%%A"
	
	If Not "%%C"=="" (
		If /I "%%B"=="Server_address" (
			Echo %%B=%IP%>>"%PathIniFile%\tmp"
		) Else (
			If /I "%%B"=="Server_port" (
				Echo %%B=%Port%>>"%PathIniFile%\tmp"
			) Else (
				Echo %%B=%%C>>"%PathIniFile%\tmp"
			)
		)
	) Else (
		Echo %%B>>"%PathIniFile%\tmp"
	)
)
Move /Y "%PathIniFile%\tmp" %IniFile% 2>nul
GoTo :EOF

:Func
	Set /A Diff=%~1-!Count!
	If %Diff% GTR 0 For /L %%A In (1,1,%Diff%) Do (Set /A Count+=1 & Echo.>>"%PathIniFile%"\tmp)
	Set /A Count+=1
то он вполне подходит, только если бы после 131 стояло =, но у меня пробел. Подскажите, пожалуйста, что нужно поменять, чтобы код работал в моих условиях!

Отправлено: 21:03, 03-12-2014 | #38


Ветеран


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

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


Цитата KDash:
код товарища El Sanchez-а »
не изучал, но логично предположить, что то, что Вам надо, здесь:
Код: Выделить весь код
For /F "Tokens=1,2* Delims=:=" %%A In ('Findstr /IN . "%PathIniFile%\%IniFile%"') Do (
.

Просто попробуйте заменить выделенный красным цветом знак равенства на пробел.

Отправлено: 21:19, 03-12-2014 | #39


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


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

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


Georgio,
В том то и дело, что пробовал всяко с этой командой - результат либо сокрушительный для файла, либо невыполнимый, либо заменяет все пробелы на равенство
Поэтому решил сдаться и написать здесь вопрос.

Отправлено: 07:28, 04-12-2014 | #40



Компьютерный форум 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




 
Переход