
[已解決]批處理如何從nslookup命令的輸出里面獲取IP各位大大好,我現在有這樣一個需求,是nslookup一個域名,然后輸出它的IP,域名#IP(有些域名有好幾個IP)的形式輸出,以電信的網絡為例,比如我在domain.txt里面保存的是zy.xunlei.com我希望輸出到ipdomain.txt的是如下內容
當我使用這樣的批處理(也是在論壇上找到然后修改的)時nclick="copycode($('code0'));">復制代碼
- zy.xunlei.com#121.14.82.142
- zy.xunlei.com#114.80.189.6
- zy.xunlei.com#114.80.189.7
- zy.xunlei.com#114.80.189.8
- zy.xunlei.com#114.80.189.9
- zy.xunlei.com#121.14.82.140
- zy.xunlei.com#121.14.82.141
輸出的內容卻是nclick="copycode($('code1'));">復制代碼
- @echo off
- for /f delims= %%a in (D:domain.txt) do (
- for /f skip=1 tokens=2 delims=, %%b in ('nslookup %%a 2^>nul^|findstr [0123456789.]') do (call echo %%a#%%b>>ipdomain.txt))
- type ipdomain.txt
- pause
里面會把名稱以及Aliases的內容輸入進去,當然這是因為我查找的字符串是只要包含數字和點就OK了,我按照網上的正則表達式寫法,把findstr [0123456789.]改為findstr ^[0-9^.]*$,意思是除數字和點之外的字符串之外都過濾,我在本地使用的時候,可以正確輸出需要的內容,但我運行腳本處理nslookup命令時卻沒有任何的輸出,百思不得其解,所以上論壇來請教,謝謝各位!此外,我想問一下腳本中2^>nul^是什么意思?-------------------------------------正確的代碼應為:nclick="copycode($('code2'));">復制代碼
- zy.xunlei.com#movie.co.sandai.net
- zy.xunlei.com#121.14.82.142
- zy.xunlei.com#114.80.189.6
- zy.xunlei.com#114.80.189.7
- zy.xunlei.com#114.80.189.8
- zy.xunlei.com#114.80.189.9
- zy.xunlei.com#121.14.82.140
- zy.xunlei.com#121.14.82.141
- zy.xunlei.com#zy.xunlei.com
- zy.xunlei.com#movie.xunlei.com
nclick="copycode($('code3'));">復制代碼
- @echo off
- for /f delims= %%a in (D:D2993-3993.txt) do (
- for /f skip=1 tokens=2 delims=, %%b in ('nslookup %%a 2^>nul^|findstr [0-9][0-9]*.[0-9][0-9]*.[0-9][0-9]*.[0-9]') do (call echo %%a#%%b>>ipD2993-3993.txt))
- type ipD2993-3993.txt
- pause

