我有一个文本文件,其中包含目录中所有文件的名称,后跟文件的日期。
是否可以在批处理/bash 中根据字符串中的值从文本文件中提取这些文件名及其日期。
我已经查过了Extracting strings from text file 但这并没有回答我的查询。我还检查了许多其他人,包括 Get specific string from a text file using batch command并且似乎进入了死胡同,因为它没有从整个文本文件中获取所有行。
典型的字符串/文件名如下所示
5f367f72-9e2f-4f89-b3d6-2cdafed17d94_IRO_RMUSI_SONG_TimayaKingPerryy_KomKom.mxf_A1.MXF,25/07/2019 05:47:24
标识符是 IRO。我在文本文件中也有更多文件,但我希望它能够查看文本文件,找到具有标识符的所有内容,并制作一个包含 IRO 文件和日期的新文本文件。
大约有 150,000 +/- 行字符串,因此手动执行此操作并不容易。
如果可以在批处理文件中完成,我将不胜感激。
最佳答案
如果您考虑一下,这很容易。使用 findstr "_IRO_"
) 过滤您的文件,然后使用 for/f
循环将文件名与日期分开(根据您的示例,它们以逗号分隔) :
(for /f "delims=," %%a in ('type "names.txt" ^|findstr "_IRO_"') do @echo %%a) > "newnames.txt"
注意:要直接从命令行而不是在批处理文件中执行它,请将每个 %%a
替换为 %a
。
关于windows - 将文本文件中的字符串提取到另一个文本文件中?在.bat中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58183207/