2016-05-09 6 views
-1

Я хочу создать файл bat, чтобы читать флаг из текстового файла, и если флаг выполняется, запустите мою программу Java, если не прекратите обработку.Bat File to Read Flag

Bellow - это пример текстового файла.

PORT_DATA|540387 
NDB_AML_AA|43539 
NDB_AML_LD|12884 
NDB_AML_REPO|441 
NDB_AML_TRAN|617908 
NDB_AML_JOINT_AC|213660 
NDB_AML_CUS_REL_PRTY|43 
NDB_AML_BICCODE|108291 
CUSTOMER_MASTER|670807 
CATEGORY.MASTER|3280 
DEPT.MASTER|2426 
COUNTRY.MASTER|251 
CUSTOMER.STATUS.MASTER|26 
INDUSTRY.MASTER|65 
JOB.TITLE.MASTER|22 
COMPANY.MASTER|115 
TRANSACTION.MASTER|782 
SECTOR.MASTER|16 
RELATION.MASTER|56 
EOF 

Любые предложения?

+2

если вы предоставите дополнительную информацию, которая будет полезна –

+0

Какая информация вам нужна? –

+0

@DeE DEe проверить, соответствует ли мой ответ вашим потребностям. – prudviraj

ответ

1

Если я правильно понимаю, когда EOF находится на последней строке ввода текста, который нужно запустить Java программу,

найти, если EOF последняя строка из текстового файла, и если да, выполнить java else exit

for /f "tokens=*" %%A in (input.txt) do set Lastline=%%A 
if "EOF" == "%Lastline%" goto prog 
goto last 
:prog 
<run your java prog here> 
:last 
echo "end script" 
+0

Когда я выполняю вывод, всегда работает конечный скрипт, а программа Java не работает. Что это означает, если «EOF» == «% last%» goto prog goto last : prog? –

+0

здесь input.txt - это файл, который содержит примерную дату, которую вы показали выше, теперь цикл for считывает эти данные и затем назначает последнюю строку последней переменной, если файл содержит последнюю строку как EOF, тогда условие if успешно, и он перейдет на шаг java, если это не конец скрипта. убедитесь, что вы указываете правильные данные, пожалуйста, не стесняйтесь возвращаться к вашим проблемам. – prudviraj

+0

спасибо, похоже, что я использовал две разные переменные, теперь я ее исправил, см. Выше обновленный код, теперь это должно работать, я тестировал с моего конца. – prudviraj