2

Я хочу добавить свой ip в системную / пользовательскую среду в файле bat.

Это код файла bat

curl http://httpbin.org/ip

Это вывод:

{
   "origin": "1.2.3.4"
}

Я хочу установить среду, set ip=1.2.3.4

Как мне это сделать?

2 ответа2

6

Я хочу добавить свой IP-адрес в системную / пользовательскую среду в файле bat.

curl http://httpbin.org/ip

Это вывод:

{
   "origin": "1.2.3.4"
}

Используйте следующий пакетный файл (test.cmd):

rem @echo off
setlocal enableDelayedExpansion
for /f "usebackq skip=1 tokens=2" %%i in (`curl http://httpbin.org/ip`) do (
  setx ip %%~i
  goto :done
  )
:done
endlocal

Заметки:

  • skip=1 используется для пропуска первой строки { .
  • goto :done - использовать для пропуска последней строки } .
  • ~ используется для удаления кавычек с IP-адреса.

Дальнейшее чтение

  • Индекс AZ командной строки Windows CMD - Отличный справочник по всем вопросам, связанным с командной строкой Windows.
  • for /f - Циклическая команда против результатов другой команды.
  • параметры - аргумент командной строки (или параметр) - это любое значение, переданное в пакетный скрипт.
  • setx - постоянная установка переменных среды, SETX может использоваться для установки переменных среды для машины (HKLM) или для пользователя, вошедшего в систему (HKCU).
2

Это было бы эквивалентно в PowerShell:

$ip = curl http://httpbin.org/ip | Select-String -Pattern "[0-9.]+" | Select Matches
Set ip $ip.Matches.Get(0).Value

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .