2016-04-13 2 views
1

Как получить строку из текстового файла через findstr?Как получить строку из текстового файла через findstr

Я ожидаю, чтобы получить эту линию, например:

002-10.20.2.240 на входе 002

Я стараюсь это, но это не работает ...

@echo off 
set /p line="" 
set /p APP=numero de APP: 

for /F "delims=" %%a in ('findstr /s /b "APP" Listin-7-4-2016.txt') do set line=%%a 

echo. Linea del archivo detectada: %line% 

pause 

Пример списка Listin-7-4-2016.txt

002-10.20.2.240 
003-10.20.3.240 
004-10.20.4.240 
006-10.20.2.241 
007-10.20.7.240 
008-10.20.7.241 
016-10.20.6.240 
017-10.20.6.241 

ответ

2

findstr /s /b "APP" ... ищет строку APP, но вы хотите найти переменную %APP%:

findstr /s /b "%APP%" ...

(кстати: вам не нужно /s, если вы будете искать в одном файле только)

+2

Он также должен изменить 'set/P line =" "' to 'set line ='. – rojo

+0

@rojo: зависит от его намерений, но, вероятно, вы правы. – Stephan

Смежные вопросы