Мне нужно добавить свой внешний IP-адрес в реестр Windows по расписанию, и я хочу сделать это с помощью файла bat/cmd, чтобы автоматизировать процесс.
Я смог воспользоваться советом из этого поста на этом сайте, чтобы использовать curl.exe для получения моего внешнего IP-адреса с помощью http://icanhazip.com и установить этот IP-адрес в качестве переменной в рамках пакетного процесса.
Теперь мне просто нужен способ взять эту переменную и вставить ее в реестр.
Я знаю, что reg.exe или regedit.exe могут добавлять информацию в реестр, ссылаясь на.REG-файл, но я не совсем знаю, как взять полученную переменную и добавить ее без.REG-файл
Одна вещь, которую я уже попробовал, была с помощью.REG-файл уже создан, копируя его в новый файл (чтобы сохранить оригинал.REG-файл для повторного использования), затем используйте echo для помещения переменной в.REG-файл, например:
echo "some_reg_value"="%externalIP%" >> addIP.reg
Проблема заключается в том, что переменная% externalIP% добавляет дополнительный пробел после IP-адреса, поэтому она выглядит так в.REG-файл и в реестре сразу.Добавлен REG-файл:
"some_reg_value"="192.168.1.100 "
То дополнительное пространство в конце вызывает серьезную проблему для цели, для которой я пытаюсь использовать это.
Есть ли способ удалить это дополнительное пространство из переменной?
Вот как я получаю переменную:
%CURL%\curl http://icanhazip.com > %CURL%\publicIP.txt
for /f "delims= " %%G in (%CURL%\publicIP.txt) do set PublicIP=%%G & del %CURL%\publicIP.txt
Любая помощь будет принята с благодарностью. Прошло много времени с тех пор, как я пытался многое сделать с помощью пакетных сценариев, и я не могу вспомнить множество доступных команд.