[Batch] zmiana wartości zmiennej w pliku txt

[Batch] zmiana wartości zmiennej w pliku txt
M2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
0

Witajcie,

Mam swój plik .bat z komendą która wyciąga mi konkretnie moje aktualne ipv4. Chciałbym przekierować samo ip czyli 192.168.0.1 do pliku txt który istnieje i wpisać ta wartosc w tym pliku, konkretniej w linii 23. Ma to mniej więcej byc tak:
Ipv4 = 192.168.0.100

23 linijka w pliku : ip= 192.168.1.1

Chce aby za pomocą pliku .bat przepisać wartość ipv4 do pliku txt w linii 23.

M2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
0

No właśnie chciałem uniknąć języków wysokiego poziomu, potrzebuje taki pliczek na już A nie mam żadnego środowiska pod ręką, A Internet też za słaby na te chwilę żeby cokolwiek zaciągnąć sensownego.. ok, jak mówisz że męka to chyba sobie daruję chociaż wolałbym właśnie taki "szybki" skrypt zrobić

rajszym
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 63
0
Kopiuj
@echo off
set ip=192.168.0.100
sed -r -i "s/^ip= ([0-9]+\.){3}[0-9]+$/Ipv4 = %ip%/g" plik.txt

Ale do tego potrzebujesz stream editor (sed) ze strony GnuWin

M2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
0

Tylko chce pobrać wartość ipv4 komendą ipconfig. Ta metoda wyświetli mi linię mniej więcej taka:
IPv4 Adress 192.168.0.100

I chce sam adres czyli 192.168.0.100 przepisać bezpośrednio do pliku .txt w linii 23. Natomiast ta linia 23 posiada taki zapis :
Server ip = xxx.xxx.xxx.xxx

chce aby wartość z ipconfig została wklejona poprzez nadpisanie konkretnie tej wartości która widnieje po równa się w linii 23...

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

Co w sytuacji, gdy masz wiele interfejsów?

Np. będąc jednocześnie podłączonym przez kabel oraz wifi, masz dwa IP.

M2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
0

Owszem, tu masz rację natomiast to będzie stosowane wyłącznie przez komputery korzystające z sieci wi-fi. Dlatego nie ma potrzeby rozdzielenia i sprawdzania który adres ip jest obecnie używany. W skrócie ten skrypt ma ułatwić ludziom którzy nie ogarniaja sprawdzenia jakie ip obecnie ma ich pc i wpisania go do odpowiedniego pliku..

Proszę tylko o nakierowanie w jaki sposób mogę to wykonać zwykłym plikiem .bat

Ferdynand Lipski
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 77
0

PowerShell:

Kopiuj
Test-Connection -ComputerName (hostname) -Count 1  | Select IPV4Address

Co nie zmienia faktu, że zwyczajne wpisanie ipconfig, tudzież ifconfig będzie o wiele szybszym rozwiązaniem zakładając, że urządzenia będą korzystać tylko z jednego interfejsu sieciowego.

rajszym
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 63
0
Kopiuj
@echo off
for /f "delims=: tokens=2" %%i in ('ipconfig ^| findstr IPv4') do (
sed -r -i "23s/ ([0-9]+\.){3}[0-9]+/%%i/" plik.txt
)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.