BAT-ник для записи IP адреса в *.ini файл
Всем доброго времени суток!
Прошу помочь мне с задачей.
Надо, что бы BAT-ник брал IP адрес моего компьютера и запихивал его в *.ini файл в 75 строку после 7-го символа, с заменой старого IP адреса в этом *.ini файле. который лежит на диске D:\
С Уважением!
|
Кодировка Вашего ini-файла? Почему ориентируетесь на номер строки и столбца, а не, как положено — на имя раздела и имя параметра?
|
Спасибо! Уже решил.
Для одной сетевой ПРИМЕРНО выглядит так:
Код:
@echo off
@echo Играем с ML файлом
:main
Rem файл конфигурации
set ml=ml.ini
Rem Первая часть от полного файла
set BML1=.\BU\BML1.txt
Rem Вторая часть от полного файла
set BML2=.\BU\BML2.txt
Rem Временный файл с IP
set IPml=.\BU\IPml.txt
:start
@echo Резервирование файла ml.ini
xcopy %ml% .\backup\ /c /q /h /Y /F
@echo IP в переменную
for /f "tokens=1* skip=7 delims=:" %%a in ('ipconfig') do (
set ip=%%b
goto ippc)
:ippc
@echo *
Set "input="
Set /p input="Это Ваш IP %ip%! Продолжить(Y/N)?"
@echo *
if /i "%input%"=="y" goto yes
if /i "%input%"=="n" goto no
exit
:yes
@echo Копируем переменную в строку
echo TCPHost =%ip%>> .\BU\IPml.txt
@echo *
@echo Компиляция файла
copy %BML1% + %IPml% + %BML2% %ml%
goto del
pause
exit
:del
del %IPml%
exit
:no
@echo Операция не выполнена!
pause
|
Для двух сетевых:
Код:
@echo off
@echo Играем с ML файлом и 2-мя IP
:main
Rem файл конфигурации
set ml=ml.ini
Rem Первая часть от полного файла
set BML1=.\BU\BML1.txt
Rem Вторая часть от полного файла
set BML2=.\BU\BML2.txt
Rem Временный файл с IP
set IPml=.\BU\IPml.txt
:start
@echo Резервирование файла
xcopy %ml% .\backup\ /c /q /h /Y /F
goto reip1
:reip1
for /f "tokens=1* skip=7 delims=:" %%a in ('ipconfig') do (
set ip1=%%b
goto reip2)
:reip2
for /f "tokens=1* skip=14 delims=:" %%c in ('ipconfig') do (
set ip2=%%d
goto ippc)
:ippc
@echo *
Set "input="
Set /p input="Ваши IP %ip1% и %ip2%! Выберите 1-й или 2-й (1/2)?"
@echo *
if /i "%input%"=="1" goto ippc1
if /i "%input%"=="2" goto ippc2
exit
:ippc1
@echo *
Set "input="
Set /p input="ВЫ выбрали IP %ip1%! Продолжить(Y/N)?"
@echo *
if /i "%input%"=="y" goto yes1
if /i "%input%"=="n" goto no
exit
:yes1
@echo Копируем переменную в строку
echo TCPHost =%ip1%>> .\BU\IPml.txt
@echo *
@echo Компиляция файла
copy %BML1% + %IPml% + %BML2% %ml%
goto del
exit
:ippc2
@echo *
Set "input="
Set /p input="ВЫ выбрали IP %ip2%! Продолжить(Y/N)?"
@echo *
if /i "%input%"=="y" goto yes2
if /i "%input%"=="n" goto no
exit
:yes2
@echo Копируем переменную в строку
echo TCPHost =%ip2%>> .\BU\IPml.txt
@echo *
@echo Компиляция файла
copy %BML1% + %IPml% + %BML2% %ml%
goto del
exit
:del
del %IPml%
pause
exit
:no
@echo Операция не выполнена!
pause
|
Дело осталось за малым: рассказать, что есть «ML файл», и нахрена он всем сдался зачем он может кому-то понадобиться.
|
Ну это у меня он так называется, мало ли кому то понадобится в *.ini (или *.vbs) файл добавить строку с IP, можно и маску и шлюз туда бахнуть.
|
Время: 03:07.
© OSzone.net 2001-