PDA

Показать полную графическую версию : [решено] Батник который должен искать определённую строку по номеру а потом скопировать


angel_lyucifer
23-05-2013, 18:00
Привет всем, проблема токая, мне нужен сложный батник который должен искать определённую строку в текстовом файле.
Объясняю, у меня есть файл log.txt в нём есть 3 строки, первая строка содержит логин (он может быть любым), вторая строка содержит пароль (он может быть любым), третья строка содержит конфигурацию.
Мне нужно чтобы батник искал в файле log.txt строку по номеру строки а потом скопировать её в буфер обмена.
Я весь Google облазил так нечего путного и не нашёл, пожалуйста помогите?

Iska
23-05-2013, 18:07
angel_lyucifer, какая у Вас ОС (средства копирования в буфер обмена «искаропки» есть только в последних ОС)?

Georgio
23-05-2013, 18:23
@ECHO OFF
SET /P Number=Enter the number of the string please
CHCP 1251>nul
FOR /F "tokens=1* delims=[]" %%I IN ('FIND /N /V ""^<log.txt') DO (
IF %%I==%Number% ECHO %%J|CLIP
)

angel_lyucifer
24-05-2013, 00:34
какая Вас ОС »
У меня две оси, одна win xp а другая win 7...

Iska
24-05-2013, 02:53
У меня две оси, одна win xp »
В Windows XP нет «clip.exe» «искаропки» (есть в Resource Kit'ах, начиная с Windows NT 4.0 и Windows 98).

номер который надо прописать в самом коде. »
Поясните тогда глубинный смысл: имя файла одно и то же (прописано в коде), номер строки — один и тот же (прописан в коде)… Почему бы тогда просто не прописать содержимое потребной строки прямо в коде? Какова глобальная цель?

angel_lyucifer
24-05-2013, 04:23
FOR /F "tokens=1* delims=[]" %%I IN ('FIND /N /V ""^<log.txt') DO (IF %%I==%Number% ECHO %%J|CLIP)

Можно ли в этом коде прописать номер строки которую нужно найти и скопировать.
Нужно чтобы батник постоянно искал только эту строку, например строку 2.
А имя файла, всегда постоянно log.

Когда вставляешь скопированный батником в пустой текстовой блокнот то вставляется логин вместе с новой второй пустой строчкой, такой логин нельзя вставлять в игру или на сайт в форму авторизации, будет ошибка. =(

Georgio
24-05-2013, 09:55
такой логин нельзя вставлять <...> в форму авторизации »
Что за кони формы Вам попались, привередливые.


Ну, ладно, тогда так:

@ECHO OFF

::Выставляем номер строки
SET Number=2

::На случай, когда в строке попадутся кириллические символы
CHCP 1251>nul

FOR /F "tokens=1* delims=[]" %%I IN ('FIND /N /V ""^<log.txt') DO (
IF %%I==%Number% SET /P "VAR=%%J" 0>nul|CLIP
)

angel_lyucifer
24-05-2013, 21:05
Спасибо вам за исходники. =)




© OSzone.net 2001-2012