1 (изменено: Night_H4nter, 2017-08-15 16:32:44)

Тема: AHK: Запись текущего IP адреса в файл

Всем здрасьте.
Собственно, в названии темы вся ее суть: нужен скрипт, который при его запуске впишет текущий IP-адрес в нужную строчку нужного файла (заменив предыдущий, естественно), затем запустит батник. Как я пытался это сделать:

+ открыть спойлер

#SingleInstance force
#NoEnv
SetWorkingDir %A_ScriptDir%
#Include tf.ahk

TF_RangeReplace("!server.properties", "server-ip=", "max-build-height", A_IPAddress1 `n, "true", 1, 1)
Run, start.bat
ExitApp

Ссылка на библиотеку(сразу на главу с использованным методом): https://github.com/hi5/TF#TF_RangeReplace.
Проблема в том, что скрипт вместо значения встроенной переменной (т.е. айпи), вставляет ее название. Причем вообще не важно, есть ли там знак(-и) "%" или нет.
Старая версия, без той библиотеки

+ открыть спойлер

#SingleInstance force
#NoEnv

FileRead, a, server.properties
StringReplace, b, a, server-ip=, server-ip=%A_IPAddress1%
FileDelete,server.properties
FileAppend, %b%, server.properties
Run, start.bat
ExitApp

Здесь я не знаю, как указать хэйстек, если я не знаю (и не должен знать) точное содержимое строки (проще говоря, мой предыдущий айпи).
Вообще, очень странно, что нельзя просто задать номер строки. Очень странно и очень глупо.
В-общем, прошу помощи, т.к. моих знаний ТЫЖпрограммирования и моей логики тут явно не хватает. Заранее спасибо.

2

Re: AHK: Запись текущего IP адреса в файл

Переменные передаются в функцию без знаков процента, строки в кавычках. Если в одном параметре нужно совместить переменную и строку, тогда записывается так:

MyFunc(variable . "string")

или

MyFunc(variable "string")
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3 (изменено: svoboden, 2017-08-15 16:39:09)

Re: AHK: Запись текущего IP адреса в файл

В FileReadLine можно задать нужную строку.

4

Re: AHK: Запись текущего IP адреса в файл

teadrinker пишет:

Переменные передаются в функцию без знаков процента, строки в кавычках. Если в одном параметре нужно совместить переменную и строку, тогда записывается так:

MyFunc(variable . "string")

или

MyFunc(variable "string")

Премного благодарен.
Можно закрывать.