Войти

Показать полную графическую версию : [решено] батник он ищет в файле (data) только строку 1 и запустить файл 1.ехе


oleg_angel@vk
10-06-2013, 03:58
Всем привет, этот фрагмент кода бы взят из батника, он ищет в файле (data) только строку 1 и копирует её в буфер обмена.
Файл data содержит в себе 2 или строки..
Мне надо чтобы если он нашёл строку 1, то запустить файл 1.ехе а если не нашёл строку 1, то запустить файл 2.ехе
Помогите пожалуйста это осуществить?


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

Iska
10-06-2013, 09:21
Файл data содержит в себе 2 или строки.. »
По-русски можно?

Georgio
10-06-2013, 15:38
.ехе а если не нашёл строку 1, то запустить файл 2.ехе »

Как автор этого скрипта поясню, что первая строка для команды FIND существует в любом файле, если он только не пустой (0 байт). Что означает: "не найдёт первую строку"? Обязательно найдёт. Может быть, Вы имеете в виду, что первая строка будет пустой, а, может быть, что первая строка не будет соответствовать заданной строке. Уточните, желательно, По-русски ».

oleg_angel@vk
10-06-2013, 22:13
что первая строка будет пустой »
Да, именно так.

По-русски можно? »
Файл data содержит в себе 2 или строки.
Строка 1 это логин.
Строка 2 это пароль.
И другое...

Georgio
10-06-2013, 23:19
@ECHO OFF
SET login_line1=1
CHCP 1251>nul
FOR /F "tokens=1* delims=[]" %%I IN ('FIND /N /V ""^<data.txt') DO (
IF %%I==%login_line1% (
SET /P "VAR=%%J" 0>nul|CLIP
SET "VAR=%%J"
IF DEFINED VAR (
START "" 1.exe
) ELSE (
START "" 2.exe
)))

oleg_angel@vk
12-06-2013, 16:47
Спасибо вам, всё работает! =)




© OSzone.net 2001-2012