iT邦幫忙

0

BAT 判斷每一行TXT文字

請問各位大大
如何用bat 批次檔寫一個
讀取txt檔 然後判斷每一行文字是否IP
如果不是就直接無視這行,判斷下一行
如果判斷為IP就寫入 Result.txt
感恩

slime iT邦大師 1 級 ‧ 2017-04-23 23:07:40 檢舉
用 find 篩選

2 個回答

1
zcm
iT邦新手 1 級 ‧ 2017-04-24 11:05:52
最佳解答

findstr "[0-9].[0-9].[0-9].[0-9]$" test.txt > result.txt

smallking iT邦新手 5 級 ‧ 2017-04-24 19:45:01 檢舉

感謝大大給一行簡單的程式碼 :)

0
eigen
iT邦新手 1 級 ‧ 2017-04-24 09:37:25
@echo off
for /f "Tokens=1-5 delims=." %%i in ('type file.txt ^|find "."') do call :check_ip %%i %%j %%k %%l %%m
goto :eof

:check_ip

if %1 lss 0 goto :check_err
if %2 lss 0 goto :check_err
if %3 lss 0 goto :check_err
if %4 lss 0 goto :check_err

if %1 gtr 255 goto :check_err
if %2 gtr 255 goto :check_err
if %3 gtr 255 goto :check_err
if %4 gtr 255 goto :check_err

echo %1.%2.%3.%4

:check_err
goto :eof

看更多先前的回應...收起先前的回應...
zcm iT邦新手 1 級 ‧ 2017-04-24 11:05:20 檢舉

findstr "[0-9].[0-9].[0-9].[0-9]$" test.txt > result.txt

smallking iT邦新手 5 級 ‧ 2017-04-24 19:44:41 檢舉

感謝大大的回答,但這方法不太適合我,還是謝謝大大了^^

eigen iT邦新手 1 級 ‧ 2017-04-25 08:55:03 檢舉

FINDSTR 我試了,無效

192.168.1.2
xxx

xxcfsd
dv
xcv
x140.150.11.22


1159.56.25.111556

150.2.21.3

只有第一行會顯示,其它沒有

eigen iT邦新手 1 級 ‧ 2017-04-25 08:56:26 檢舉

我的寫法可以正確的抓出合理的
192.168.1.2
150.2.21.3

我要發表回答

立即登入回答