Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.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
String 如何在批处理脚本中搜索和提取部分字符串_String_Batch File_Search_Extract - Fatal编程技术网

String 如何在批处理脚本中搜索和提取部分字符串

String 如何在批处理脚本中搜索和提取部分字符串,string,batch-file,search,extract,String,Batch File,Search,Extract,我对windows批处理脚本非常陌生,在从文本文件中搜索和提取字符串的一部分并将其显示出来时遇到困难。一些样本数据如下所示 搜索基于学生ID,例如:STUD777012 如果你能帮忙,我将不胜感激 多谢各位 预期产出样本: STUD777012,返回代码:0,分析未检测到错误 STUD777293,返回代码:4,分析检测到警告 STUD777086,返回代码:8,分析检测到错误 STUD777099,返回代码:0,分析未检测到错误 日志数据示例: @ECHO关闭 SETLOCAL ENABLED

我对windows批处理脚本非常陌生,在从文本文件中搜索和提取字符串的一部分并将其显示出来时遇到困难。一些样本数据如下所示

搜索基于学生ID,例如:STUD777012

如果你能帮忙,我将不胜感激

多谢各位

预期产出样本: STUD777012,返回代码:0,分析未检测到错误

STUD777293,返回代码:4,分析检测到警告

STUD777086,返回代码:8,分析检测到错误

STUD777099,返回代码:0,分析未检测到错误

日志数据示例:
@ECHO关闭
SETLOCAL ENABLEDELAYEDEXPANSION
对于(q25290636.txt)中的/f“令牌=1,2,6”%%a,请执行以下操作(
如果“%%a”==”正在编译“设置”螺柱=%%b”
如果“%%a”==“prg”(
如果“%%c”==“0”ECHO!stud!返回代码%%c,则分析未检测到错误
如果“%%c”==“4”ECHO!stud!返回代码%%c,则分析检测到警告
如果“%%c”==“8”ECHO!stud!返回代码%%c,则分析检测到错误
)
)
后藤:EOF
假设将错误代码转换为文本是安全的(即使它看起来是多余的)

我使用了一个名为
q25290636.txt
的文件,其中包含用于测试的数据

您未提供STUD777099的数据,返回代码:0,分析未检测到错误


隔离一个特定记录的修订

@ECHO关闭
SETLOCAL ENABLEDELAYEDEXPANSION
设置“目标=螺柱%%1”
对于(q25290636.txt)中的/f“令牌=1,2,6”%%a,请执行以下操作(
如果“%%a”==”正在编译“设置”螺柱=%%b”
如果“%%a”==“prg”(
ECHO!stud!| FINDSTR/L/B“%target%”NUL
如果不是错误级别1(
如果“%%c”==“0”ECHO!stud!返回代码%%c,则分析未检测到错误
如果“%%c”==“4”ECHO!stud!返回代码%%c,则分析检测到警告
如果“%%c”==“8”ECHO!stud!返回代码%%c,则分析检测到错误
)
)
)
后藤:EOF
要为所有目标运行,请不带参数运行


要运行
STUD777293
只需运行此批777293

Hi Magoo,非常感谢您的帮助。它按预期工作,这很好:)我删除了STUD777099数据,因为它的返回代码是重复的。我不确定是否会有其他类型的返回码,是否可以处理任何不属于0、4或8的返回码?谢谢。如果需要的话,如何添加额外的代码应该是显而易见的。只有您可以判断从返回代码推断分析是否合乎犹太教-但如果必要,可以显示“检测到的分析”行中的实际文本-这只是稍微复杂一点…嗨,Magoo,没问题。如何修改脚本以搜索STUD777293(手动输入)并返回:STUD777293,返回代码:4,分析检测到的警告?计划将其添加到我的批处理脚本中。谢谢。嗨,马古,它很好用。非常感谢你的帮助。:)伟大的如果您愿意单击大勾号,则表示问题已解决。
Compiling STUD777012 to Data Structure 
This is prg version 380.10.20 
This is StudPrg.exe version 6.24 
debug enabled version
StudPrg.exe finished 
prg finished with return code: 0
status:
  Analysis detected no errors

Compiling STUD777293 to Data Structure 
This is prg version 380.10.20 
This is StudPrg.exe version 6.24 
debug enabled version
StudPrg.exe finished
This is StudPrg.exe version 6.24 
debug enabled version
StudPrg.exe finished  
prg finished with return code: 4
status:
  Analysis detected warnings

Compiling STUD777086 to Data Structure 
This is prg version 380.10.20 
This is StudPrg.exe version 6.24 
debug enabled version
StudPrg.exe finished  
This is  StudPrg.exe version 6.24 
debug enabled version
StudPrg.exe finished  
prg finished with return code: 8
status:
  Analysis detected errors