批量查找文件中的文本并替换为其他文本

2024-01-06

我需要使用 Batch 来检查文件 Directory.twml 以查看它是否包含文件 Blocked.twml 中的任何单词以及它是否替换为 [Blocked]

这是两个文件的示例:

目录.twml

11:38:38.90 [System] Twml Has joined the chat.
11:38:41.17 [User]   Twml says: line one
11:38:42.96 [User]   Twml says: line bad two
11:38:46.27 [User]   Twml says: line three
11:38:50.16 [User]   Twml says: you get the idea here
11:38:52.35 [System] Twml Has logged off.

被阻止.twml

word1
word2
word3
bad
word5
word6

我想要 Directory.twml 所说的内容是

11:38:38.90 [System] Twml Has joined the chat.
11:38:41.17 [User]   Twml says: line one
11:38:42.96 [User]   Twml says: line [Blocked] two
11:38:46.27 [User]   Twml says: line three
11:38:50.16 [User]   Twml says: you get the idea here
11:38:52.35 [System] Twml Has logged off.

我已经可以使用 Findstr 在文件中查找并查看文本是否存在,但据我所知,我不需要检查设置的单词,而是检查文件 Blocked.twml 中的单词列表

findstr /i "bad" <"Directory.twml" 1>nul

我也可以从文件中删除该单词,但我想替换它而不仅仅是删除

findstr /i /v /c:"%text%" Directory.twml > "Directory.twmll" 2>nul 
del Directory.twml /s /a >nul
copy Directory.twmll Directory.twml >nul
attrib +h Directory.twml
del Directory.twmll /s /a >nul

但这又是一组文本,不是从文件中的列表中查找的

如果 Directory.twml 包含 Blocked.twml 中的任何内容,请替换为 [Blocked] 但我不知道该怎么做

=========编辑===========

这是解决方案:

(
for /f "delims=" %%A in (Directory.twml) do (
set "line=%%A"
for /f "delims=" %%B in (blocked.twml) do set "line=!line: %%B = [Blocked] !"
echo !line!
)
)>Directory.new

它的输出对我来说是这样的

13:22:14.16 [User]   twml says: this is a test
13:22:20.37 [User]   twml says: this is a [Blocked] word test

逐行读取Directory.twml。对于每一行,读取blocked.twml 并将每个单词替换为字符串[Blocked]。回显更改后的行。将整个输出重定向到一个新文件:

@echo off 
SETLOCAL ENABLEDELAYEDEXPANSION
(
  for /f "delims=" %%A in (Directory.twml) do (
    set "line=%%A"
    for /f "delims=" %%B in (blocked.twml) do set "line=!line:%%B=[Blocked]!"
    echo !line!
  )
)>Directory.new

我将让您将新文件重命名为原始名称。

注意:类似的东西abadad将更改为a[Blocked]ad。你可以改变set "line=!line:%%B=[Blocked]!" to set "line=!line: %%B = [Blocked] !"捕捉单词边界,但是然后This is bad, I think.不会被改变。

注:单个!将被删除。如果有多个!在一行中,它们之间的文本将消失。批处理并不是做这些事情的好选择......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

批量查找文件中的文本并替换为其他文本 的相关文章

  • Windows批处理文件-显示所有子文件夹

    我在使用 Windows 批处理文件返回 JUST 文件夹 忽略文件 时遇到困难 这就是我现在所拥有的 目前它正在返回文件和子子文件夹 for r g in xx do echo g 另外 假设我只想返回以几个不同前缀开头的文件夹 例如 我
  • 在正确的时机批量创建视频 .srt 字幕

    好家伙 我什至不知道从什么开始 所以 我有一个包含很多视频的文件夹 我需要的是使用这些视频的名称创建字幕 同时注意其长度以创建 srt 格式的字幕 我已经查找了一些信息并复制了一些代码 echo off set dirpath 1 dir
  • 根据文件内容重命名文件批处理文件

    我需要一个批处理文件来读取 XYZ txt 文件中存在的描述名称 并根据描述名称重命名该文件名 例如 我有一个名为 nest txt 的文件名 当我们打开文本文件 nest txt 时 文件名的第二行有说明 Description Man
  • 区分大小写的字符串操作

    假设我们有一个变量 例如 set test This is a Test string 我们想要替换每个小写字母t与大写X如此期望的输出 This is a TesX sXring 我尝试使用字符串操作set test test t X 但
  • 如何创建 .bat 文件来运行 C# 代码?

    我需要的是 我有一个 C 代码 我想构建它以便在桌面上创建一个 bat 文件 因此 当我从桌面运行这个 bat 文件时 它应该执行 C 代码 有没有办法在编译之前更改 c 项目的设置或属性 以便创建应运行此 c 代码的 bat 文件 将 C
  • Subversion 中的忽略文件会从 svn:ignore 属性中删除旧值

    我有一个 Subversion 工作副本G csmdepot 构建其中有不同的文件 有些被忽略 有些则没有 我忽略了 Tortoise 的文件 Build 1 wimignored Build 2 wimignored WimID xml
  • 批处理:在特定程序中打开特定文件?

    当记事本是 txt 文件的默认程序时 如何告诉 Windows 在写字板中打开 C test test txt 接受的答案对我不起作用 我不确定这是因为我试图运行的程序 还是因为路径中有空格 即使我用引号引起来 或者其他原因 不管怎样 我可
  • 午夜后时间设置不正确

    我使用以下命令以更易读的格式获取当前日期 时间 set day date 4 2 set mth date 7 2 set yr date 10 4 set hur time 0 2 set min time 3 2 set bdate d
  • 如何消除批处理文件动画中的闪烁? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 因此 我一直在批量制作一个假 GUI 以作为我正在做的 YouTube 评论的结尾 它基本上是一堆方框
  • 通过管道连接到 findstr 的输入

    我有一个文本文件 其中包含宏名称列表 每行一个 我的最终目标是打印宏名称在当前目录的文件中出现的次数 宏的名称位于C temp macros txt type C temp macros txt在命令提示符下可以正常打印列表 现在我想将该输
  • Windows“findstr”命令:排除包含特定字符串的结果

    到命令findstr str1 我想添加一些内容来排除包含该字符串的结果str2 在Linux中 这样做的方法是添加 grep v str2 to grep str1 当然 是否有一个等效的标志 v在 Windows 中 是否有一个等效的标
  • VBscript 以提升的权限运行 bat 文件

    这是我的bat文件 REG DELETE HKLM Software Microsoft Windows CurrentVersion WindowsUpdate v SusClientId f REG DELETE HKLM Softwa
  • 在Java中运行bat文件并等待

    您可能会认为从 Java 启动 bat 文件是一项简单的任务 但事实并非如此 我有一个 bat 文件 它对从文本文件读取的值循环执行一些 sql 命令 它或多或少是这样的 FOR F x in CD listOfThings txt do
  • 如何成功地用 XML 中的批处理替换文本

    我尝试使用批处理在 XML 页面中替换字符串 但无法成功完全替换它 我有这个批处理代码 echo off setlocal EnableDelayedExpansion set search logLevel 3 set replace l
  • 比较批处理文件中的两个数字

    我在这个网站上搜索了我的问题 但没有找到解决我问题的方法 系统为玩家和计算机提供一个从 2 到 12 的随机数 这有 3 部分 X 大于 Y 如果 X 小于 Y 以及当 X 与 Y 相同 当我开始 bat 效果很好 我选择Play Game
  • 如何获取字符串的最后一个单词?

    我有一个批处理文件 它以文件路径作为参数 set filePath 1 现在 假设文件路径是 C Temp Folder 我想设置Folder在一个新变量中 我怎样才能做到这一点 我在网上搜索了一下 所有的解决方案都是这样的 for A i
  • Windows批处理文件:将结构转换为单行字符串

    我需要将这个艰巨的任务作为批处理文件来完成 这对于 C 来说不是最困难的 但在 DOS 中是一个地狱 至少对我来说 我需要将结构转换为单个 var 字符串 才能在我的程序中再次将它们转换为该结构 别担心回归 一切都已经完成了 该结构的大小会
  • 批处理文件中是否存在“Power to”功能? (指数)

    Problem 有没有办法将变量 乘以 数字或其他变量的批处理文件 有这个功能吗 Python 中的一个示例是您可以使用 为 到 的力量 EDIT 您可以在批处理文件中进行数学运算 http en wikipedia org wiki Ba
  • 使用特定的 JRE 运行 JAR 文件

    在 Windows 上有没有办法使用位于特定文件夹中的 JRE 运行 JAR 文件 类似于 Eclipse 在您提供给它的某个路径中查找其 JRE 的方式 一些 Windows 可执行代码 C 或 C 或批处理文件都可以完成这项工作 谢谢
  • Chrome 扩展 - 消息传递到批处理文件

    我使用了示例项目https developer chrome com extensions samples https developer chrome com extensions samples我能够运行 python 本机应用程序 有

随机推荐

  • 什么时候需要 TCP 选项 SO_LINGER (0)?

    我想我理解该选项的正式含义 在我现在处理的一些遗留代码中 使用了该选项 客户抱怨 RST 是其一侧对 FIN 的响应 其连接距离其一侧较近 我不确定是否可以安全地删除它 因为我不知道何时应该使用它 您能否举例说明何时需要该选项 对于我的建议
  • C - 函数类型冲突错误

    我是 C 新手 我试图从用户那里获取大量文本并计算单词 字符 行 空格和字母的数量 这就是我所做的 include
  • 通过 webhook 接收关于创建和删除 Outlook 事件的额外更新更改通知

    我希望收到有关创建 更新和删除 Outlook 事件的更改通知 我通过以下方式创建了订阅https learn microsoft com en us graph change notifications delivery webhooks
  • 从给定的日期范围列表中查找所有重叠的日期范围

    我有一个 BookingDateRange 列表 其中 BookingDateRange 是 public class BookingDateRange private Date fromDate private Date toDate g
  • 如何使用msbuild替换文件中的字符串?

    我想用另一个文件 xy xml 中的字符串 i am Fine 替换文件 test xml 中的 how r u 等字符串 在 ms build 中使用正则表达式 即我必须从一个文件 xy xml 读取字符串并将其替换为另一个文件test
  • Google App Engine - 缓存生成的 HTML

    我编写了一个 Google App Engine 应用程序 它以编程方式生成一堆 HTML 代码 对于登录到我的系统的每个用户来说 这些代码实际上是相同的输出 而且我知道当代码投入生产时 这将是低效的 因此 我试图找出缓存生成页面的最佳方法
  • 处理中带有 Alpha 通道的视频

    我想知道是否有人可以出色地帮助我完成我正在做的事情Processing 我需要在实时源上播放带有透明度的视频文件 以便视频不仅仅是一个矩形 这是我认为需要添加或更改的代码部分 我对这一切都非常陌生 我非常感谢任何可以提供帮助的人 如果您的视
  • C#:异常 - 参数无效 - 表单 Dispose 方法

    在处置时object of a form从另一个exception正在投掷像Parameter is not valid 访问第二种形式的代码 Assembly X Assembly LoadFile Application Startup
  • 在同级元素的单击事件上从内存中删除 Image() 对象 - JavaScript

    我有一个使用 JavaScript 的图像预览器Image 对象在使用 PHP 处理之前预览图像 我有一个包含 x SVG 图形的 div 该图形的目标是通过单击事件来删除图像 在下面的代码中 它使用的函数底部evt target如果用户愿
  • 将 dll 添加到引用后,类库智能感知未显示

    在 C 中 我创建了一个具有一个命名空间和一个类的 ClassLibrary 我保存并构建了它 在其他项目中 当我使用它时 我通过浏览到 dll 位置将其添加到我的引用中 但问题是它的名字没有出现在智能感知中 即当我 using 我的dll
  • 将数据库部署到 Azure SQL 失败,找不到 sp_MSforeachtable

    我正在尝试使用发布 SQL Server 数据库 dacpac并将配置文件发布到 Azure SQL 数据库 我们已经使用本地 SQL Server 很长一段时间了 没有出现任何问题 现在我们正在评估 Azure 和 AWS 看看哪一个最适
  • 阻止所有混合内容

    我怎样才能完全防止任何混合内容 https developer mozilla org en US docs Web Security Mixed content从加载 当前的浏览器已经被阻止active混合内容 脚本 我真正想要的是阻止所
  • 由于 Yoga 错误,React Native iOS 构建失败

    我从博览会中退出到纯反应本机项目 IOS 项目未按预期运行 我得到的错误是 ReactCommon yoga yoga YGEnums h No such file or directory 更多错误如下所示 error Failed to
  • 如何在 Android 中自定义权限对话框?

    假设我在运行时请求如下所示的权限 ActivityCompat requestPermissions thisActivity new String Manifest permission READ CONTACTS MY PERMISSI
  • Opencart 登录后登录到上一个查看的页面?

    Opencart 登录后登录到上一个查看的页面 有人知道可以做到这一点的方法吗 正在开发版本 1 5 4 希望有人可以建议 帮助 Thanks 为了实现这个场景 用户单击登录链接 用户填写登录表单并单击提交按钮 他登录后 您希望他重定向到他
  • 使用卡方检验在文档特征矩阵中进行特征选择

    我正在使用自然语言处理进行短信挖掘 我用了quanteda包生成文档特征矩阵 dfm 现在我想使用卡方检验进行特征选择 我知道已经有很多人问过这个问题了 但是 我找不到相关的代码 答案只是给出了一个简短的概念 如下所示 https stat
  • 如何在 Pygame 中围绕偏心轴旋转图像

    我想围绕一个枢轴旋转图像 该枢轴不在图像的中心Surface https www pygame org docs ref surface html in Pygame https www pygame org news 枢轴是图像中的绿色十
  • 使用 Clang 为 RISC-V 进行编译

    我正在尝试使用构建一个 hello world 程序Clang 版本 12 0 1 适用于 RISC V 架构 我已经安装了它LLVM 版本 12 0 1 具有以下设置 cmake G Unix Makefiles DLLVM ENABLE
  • gg树图标签

    如何将树状图的标签更改为与列表中的名称匹配的标签 目前我只得到列表号 Code library IncDTW library ggplot2 library ggdendro A lt matrix 1 50 nrow 50 ncol 1
  • 批量查找文件中的文本并替换为其他文本

    我需要使用 Batch 来检查文件 Directory twml 以查看它是否包含文件 Blocked twml 中的任何单词以及它是否替换为 Blocked 这是两个文件的示例 目录 twml 11 38 38 90 System Twm