Melihat dokumentasi untuk for
(lari for /?
untuk melihatnya), saya tidak berpikir for /f
akan 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 for
seperti 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 for
untuk melakukan pekerjaan findstr
juga, 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=15
menjadi tokens=14
. Saya pikir bidang terakhir pada baris adalah token 14. Tetap bekerja untuk saya.
for
alih-alihipconfig
. Lakukan sajafor /f "tokens=15" %f in ('ipconfig ^| findstr "Address"') do @echo %f
, kapan^
karakter pelariannya.