Показать полную графическую версию : [решено] Батник который должен искать определённую строку по номеру а потом скопировать
angel_lyucifer
23-05-2013, 18:00
Привет всем, проблема токая, мне нужен сложный батник который должен искать определённую строку в текстовом файле.
Объясняю, у меня есть файл log.txt в нём есть 3 строки, первая строка содержит логин (он может быть любым), вторая строка содержит пароль (он может быть любым), третья строка содержит конфигурацию.
Мне нужно чтобы батник искал в файле log.txt строку по номеру строки а потом скопировать её в буфер обмена.
Я весь Google облазил так нечего путного и не нашёл, пожалуйста помогите?
angel_lyucifer, какая у Вас ОС (средства копирования в буфер обмена «искаропки» есть только в последних ОС)?
@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...
У меня две оси, одна 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.
Когда вставляешь скопированный батником в пустой текстовой блокнот то вставляется логин вместе с новой второй пустой строчкой, такой логин нельзя вставлять в игру или на сайт в форму авторизации, будет ошибка. =(
такой логин нельзя вставлять <...> в форму авторизации »
Что за кони формы Вам попались, привередливые.
Ну, ладно, тогда так:
@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
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.