mam pytanie, jak można dodać zmienną ip w języku batch. coś typu
echo %computername%


Odpowiedź :

Odpowiedź:

for /f "delims=[] tokens=2" %%a in ('ping -4 -n 1 %ComputerName% ^| findstr [') do set ip=%%a

echo Twoj lokalny adres IP: %ip%

Wyjaśnienie:

Powyższy kod można wykorzystać jedynie w pliku Batch, nie zadziała kiedy nie uruchomiliśmy instancji pliku wsadowego. Kod działa mniej więcej tak, że próbuje uzyskać lokalny adres IP komputera, tworząc zapytanie PING do tego samego komputera, w wyniku otrzymujemy duże źródło danych z zewnętrznego polecenia PING dlatego za pomocą FINDSTR odfiltrowujemy wyjście otrzymując lokalny adres IP komputera.

Jest to adres lokalny komputera, by uzyskać adres publiczny, musisz odwołać się do publicznego API np. api.ipify.org z wykorzystaniem poleceń zewnętrznych PowerShella.