首页 > 解决方案 > 将文本文件中的字符串提取到另一个文本文件中?在 .bat 中

问题描述

我有一个文本文件,其中包含我目录中所有文件的名称,后跟日期。

是否可以在批处理/bash 中根据字符串上的值从文本文件及其日期中提取这些文件名。

我已经检查了从文本文件中提取字符串, 但这并没有回答我的查询。我还检查了许多其他内容,包括使用批处理命令从文本文件中获取特定字符串,并且似乎遇到了死胡同,因为它没有从整个文本文件中获取所有行。

典型的字符串/文件名如下所示

5f367f72-9e2f-4f89-b3d6-2cdfed17d94_IRO_RMUSI_SONG_TimayaKingPerryy_KomKom.mxf_A1.MXF,25/07/2019 05:47:24

标识符是 IRO。我在文本文件中也有更多文件,但我希望它能够查看文本文件,找到具有标识符的所有内容并制作一个新的文本文件,其中包含 IRO 文件和填充日期。

大约有 150,000 +/- 行字符串,因此手动执行此操作并不容易。

如果可以在批处理文件中完成,我将不胜感激。

标签: windowsbashbatch-filetext-files

解决方案


如果您考虑一下,这很容易。使用 ) 过滤您的文件findstr "_IRO_",然后使用for /f循环将文件名与日期分开(根据您的示例,它们用逗号分隔):

(for /f "delims=," %%a in ('type "names.txt" ^|findstr "_IRO_"') do @echo %%a) > "newnames.txt"

注意:要直接从命令行而不是在批处理文件中执行它,请将每个替换%%a%a.


推荐阅读