Melihat dokumentasi untuk for(lari for /?untuk melihatnya), saya tidak berpikir for /fakan membaca dari pipa. Satu-satunya sumber yang valid adalah file-set, "string", dan 'command'.
FOR /F ["options"] %variable IN (file-set) DO command [command-parameters]
FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
Anda bisa memasukkan perintah ke dalam forseperti ini:
for /f "tokens=15" %f in ('ipconfig ^| findstr "Address"') do @echo %f
192.168.x.x
192.168.y.y
(Berkat neurolisis untuk menunjukkan itu harus ^|dan bukan hanya |)
Atau Anda dapat mencoba memasukkan ipconfig | findstr "Address"skrip batch terpisah dan menelepon:
for /f "tokens=14" %f in ('ipaddresses') do @echo %f
(dengan asumsi Anda memanggil skrip ipaddresses).
Atau Anda dapat menggunakan foruntuk melakukan pekerjaan findstrjuga, seperti ini:
for /f "tokens=2,14" %i in ('ipconfig') do @if %i==Address. @echo %j
192.168.x.x
192.168.y.y
itu tidak persis sama karena tidak akan cocok dengan alamat IPv6, tetapi sesuatu di sepanjang garis itu bisa berfungsi.
Perhatikan juga bahwa saya berubah tokens=15menjadi tokens=14. Saya pikir bidang terakhir pada baris adalah token 14. Tetap bekerja untuk saya.