windows - 将文本文件中的字符串提取到另一个文本文件中?在 .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 +/- 行字符串,因此手动执行此操作并不容易。
如果可以在批处理文件中完成,我将不胜感激。
解决方案
如果您考虑一下,这很容易。使用 ) 过滤您的文件findstr "_IRO_"
,然后使用for /f
循环将文件名与日期分开(根据您的示例,它们用逗号分隔):
(for /f "delims=," %%a in ('type "names.txt" ^|findstr "_IRO_"') do @echo %%a) > "newnames.txt"
注意:要直接从命令行而不是在批处理文件中执行它,请将每个替换%%a
为%a
.
推荐阅读
- javascript - 升级到 jquery.terminal-2.19.2.js 后浏览器变得迟缓
- c++ - std::string::resize(smaller_than_capacity) 是否保证现有迭代器仍然有效?
- amazon-web-services - AWS Cloudfront - 如何避免在浏览器中缓存而不是 TTL
- reactjs - React 应用程序中的 OAuth 客户端机密
- stripe-payments - Stripe 是否可以在确认付款调用(如果成功)和他们发送给我的 webhook 之间更改付款意图状态?
- reactjs - React-Simple-Chatbot 动态更改主题
- html - 如何在不同的坐标集中复制 svg 中的多边形块?
- ajax - 如何从 Asp.Net Web API 向 AJAX 调用发送成功或失败状态
- javascript - MDN 文档中的这个范围函数是如何工作的?
- javascript - 无法从变量中获取输入字符串