You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过批处理删除文本中指定单词之后的所有内容

批处理实现删除文本中指定单词后所有内容的方法

你可以直接用原生Windows批处理实现需求,不需要安装任何第三方工具,以下是可直接运行的方案:

最简实现(适用于单行文本、关键词仅出现1次的场景)

你的myfile.txt是单行内容的话,用下面的短脚本即可:

@echo off
setlocal enabledelayedexpansion
:: 读取myfile.txt的第一行内容
set /p "content="<"myfile.txt"
:: 截断cry之后的所有内容
set "content=!content:cry=cry&rem !"
:: 将处理后的内容写回文件
> "myfile.txt" echo !content!
endlocal

运行后原文件里的Hi my cry die fly 会被处理为Hi my cry,正好删除cry之后的所有字词。

多行文本适配版本

如果你的文件有多行内容,需要逐行处理的话用这个版本:

@echo off
setlocal enabledelayedexpansion
:: 逐行读取文件内容处理
(for /f "delims=" %%l in (myfile.txt) do (
    set "line=%%l"
    if defined line set "line=!line:cry=cry&rem !"
    echo !line!
))>temp_tmp.txt
:: 替换原文件
move /y temp_tmp.txt myfile.txt
endlocal

注意事项

  • 脚本需要和myfile.txt放在同一目录下运行
  • 运行前建议先备份原文件,避免误操作丢失内容
  • 可以先把脚本里写回文件的行改成echo !content!,先在控制台确认输出结果符合预期,再执行覆盖原文件的操作

内容的提问来源于stack exchange,提问作者OProgrammer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 16:48:54