2014-04-19 53 views
1

錯行我有一個像這樣用站號和IP列表:FINDSTR沾到commad

1 10.1.1.10 
10 10.1.10.10 
11 10.1.11.10 
17 10.1.17.10 
174 10.1.174.10 
7602 10.16.2 
7604 10.16.4 
7605 10.16.5 

列表是非常大的,但是這就是例子。

我想使用「FINESTR」結束「SET/P」 站的數量,並通過該IP獲取。 這就是我寫道:

@echo off 
setlocal enabledelayedexpansion 
set /p sn= 
echo result is : 
echo. 
for /f "tokens=1-3" %%a in ('findstr /c:%sn% stations.list') do set station=%%a %%b %%c 
echo %station% 
echo. 
pause 

當我嘗試做一些腳本,它得到我要「1」,它帶來了別的東西有數字「1」,但沒有「1」恰好

+0

當你'1'鍵入你能指望什麼回去? – foxidrive

+0

忘記提及10.1.1.10 –

回答

0

添加/b /e交換機,1應該爲您提供該線路上的IP地址。

你的榜樣,所以我將其更改爲1,2也沒有使用三個令牌:

@echo off 
setlocal enabledelayedexpansion 
set /p sn= 
echo result is : 
echo. 
for /f "tokens=1,2" %%a in ('findstr /b /e /c:%sn% stations.list') do set station=%%a&set IP=%%b 
echo %station%, %IP% 
echo. 
pause 
+0

不,現在我得到ECHO如果關閉。 –

+0

刪除/ e並在搜索字符串末尾包含一個空格 - findstr/b/c:「%sn%」stations.list。類型findstr /?求助。如果關閉, –

+0

仍然會獲得ECHO。空間後,我得到了「199 10.1.199.10」 –