Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File Bat文件读取标志_File_Batch File - Fatal编程技术网

File Bat文件读取标志

File Bat文件读取标志,file,batch-file,File,Batch File,我想创建一个bat文件,从文本文件中读取一个标志,如果有,则执行我的Java程序,如果没有,则停止处理 下面是一个示例文本文件 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 CATE

我想创建一个bat文件,从文本文件中读取一个标志,如果有,则执行我的Java程序,如果没有,则停止处理

下面是一个示例文本文件

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

有什么建议吗?

如果我理解正确,当在输入文本的最后一行发现EOF时,您需要运行java程序

查找EOF是否是文本文件的最后一行,如果是,则执行java else退出

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"
对于(input.txt)中的/f“tokens=*”%%A,请设置Lastline=%%A
如果“EOF”=“%Lastline%”转到程序
转到最后一个
:prog
:最后
回显“结束脚本”

如果您提供更多信息,这将非常有用您需要什么样的信息?@DeE DeE检查我的答案是否符合您的需要。什么标志?只检查一下,如果有的话?还是你需要号码?旗子是什么?您的文件中是否实际存在单词
EOF
?为什么
EOF
后面没有数字?来吧,如果你想让别人帮你的话,试着适当地问你的问题。当我执行时,输出总是结束脚本,Java程序没有运行。如果“EOF”=“%last%”goto prog goto last:prog意味着什么?这里的input.txt是包含示例日期的文件,如上图所示,现在for循环读取该数据,然后将最后一行分配给变量last,如果该文件包含作为EOF的最后一行,则if条件成功,它将进入java步骤,如果不是,脚本将结束。请确保您指向的是正确的数据,请随时回复您的问题。谢谢,似乎我使用了两个不同的变量,现在我已经更正了,请参考上面更新的代码,现在应该可以了,我已经完成了测试。如何在cmd上显示进程已启动的消息?在标记:prog之后,您可以添加echo语句,它将告诉您java进程已经启动。