Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/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_Cmd_Find_Findstr - Fatal编程技术网

String 批处理文件读取并存储在文本文件字符串中

String 批处理文件读取并存储在文本文件字符串中,string,batch-file,cmd,find,findstr,String,Batch File,Cmd,Find,Findstr,所以我有多个文件,打开时看起来像这样 THis is header A|0003920449219349||||B|skej24ie422| F|ddawejaskld 我的问题是如何将字符串存储在第二行(具体为0003920449219349)或|到单独的文本文件>storehere.txt之间的数字 for /f "tokens=2,3 delims=|" %%a in (*.txt) do if "%%b" neq "" echo %%a>>storehere.txt

所以我有多个文件,打开时看起来像这样

 THis is header
 A|0003920449219349||||B|skej24ie422|
 F|ddawejaskld
我的问题是如何将字符串存储在第二行(具体为0003920449219349)或|到单独的文本文件>storehere.txt之间的数字

for /f "tokens=2,3 delims=|" %%a in (*.txt) do if "%%b" neq "" echo %%a>>storehere.txt

。。。假设格式确实是您的示例所示的格式。

使用skip=1 tokens=2,3 delims=|跳过标题,而不是使用if%%b neq,因为我们不能假设第一行不包含|。还要注意像X | | | | |之类的行,第2列为空,但第2个令牌%%b为非空。这将输出所有第2列,而不仅仅是第2行。@JosefZ:您的建议还将从第3行返回ddawejaskld,这是不需要的。因为我也知道…,我写道。。。假设,格式真的是,你的例子是什么样的。通过对真实数据的了解,这一点可以得到显著改善,例如,它是否总是第二行,它是否总是从|开始。。。