Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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_Search_Batch File - Fatal编程技术网

String 批量从文本中选择字符串

String 批量从文本中选择字符串,string,search,batch-file,String,Search,Batch File,我将举例说明我需要做什么 假设我有一个包含字符串的文本文件 some text some text some text some text some text some text ***************************** Your info is : random_value ***************************** some text some text some text some text some text some text 我需要一个批处理脚

我将举例说明我需要做什么

假设我有一个包含字符串的文本文件

some text some text some text
some text some text some text
*****************************
Your info is  :  random_value
*****************************
some text some text some text
some text some text some text
我需要一个批处理脚本来搜索文本,找到随机_值,然后将其返回到变量中


谢谢

您需要一个模式来匹配该行,还需要一个定界器来分割匹配的字符串以获得所需的值。如果字符串有空格,您可以使用FOR/F循环执行此操作:

@Echo OFF

Set "File=.\File.txt"
Set "Match=Your info is"
Set "Tokens=2"
Set "Delimitter=:"

For /F "Tokens=%Tokens% Delims=%Delimitter%" %%# in (
    'Type "%File%"^|FIND /I "%Match%"'
) Do (
    Set "Value=%%#"
)

Echo %VALUE%

Pause&Exit

PS:用你的例子测试。

欢迎使用SO。你的问题是什么?换句话说:到目前为止你尝试了什么?我对使用批处理脚本进行搜索和查找的知识非常少。我想我必须使用代币,但我不确定,从未尝试过@爸爸,也许我还没有把自己说清楚。我需要批处理脚本来搜索your info is:string并获取此字符串和下一个空白字符之间的值下一行字符或输入您所要求的内容可能通过findstr和for的组合来完成。试试findstr/?对于/?获取更多信息。@lucas这是一个好的开始,谢谢。我会试试findstr,看看我能做些什么——这正是我所期待的。我试试这个。我真的需要了解代币和熟食的事情。你从未让我失望过elektro。谢谢^^我不买代币。你能解释为什么你使用代币=2吗?你在干什么?我尝试了这个例子,但没有成功,我还删除了你信息中的空格is:random_值,没有成功。非常感谢,我将字符串分为两部分2标记,第一部分在:之前,最后一部分在定界符之后。因此,在令牌1中,您将获得您的信息,在令牌2中,您将获得随机值。嘿,Elektro,您能解释一下为什么您必须使用^ |而不是|吗?多亏了你,我终于成功了you@Futur因为|是运算符,^是转义运算符,所以需要在agrup命令中转义该运算符。