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

如何使用Batch脚本仅删除文本文件最后一行且保留行内所有空格

Batch脚本删除文本文件最后一行(保留所有空格和格式)

最终可用脚本

@Echo Off
SetLocal DisableDelayedExpansion

Set "SrcFile=file.txt"

If Not Exist "%SrcFile%" Exit /B
Copy /Y "%SrcFile%" "%SrcFile%.bak">Nul 2>&1||Exit /B

(   Set "Line="
    For /F "UseBackQ Delims= EOL=" %%A In ("%SrcFile%.bak") Do (
        SetLocal EnableDelayedExpansion
        If Defined Line Echo(!Line!
        EndLocal
        Set "Line=%%A"
    )
)>"%SrcFile%"
EndLocal
Exit /B

关键修改说明

  • 给For /F添加EOL=参数,禁用默认的行首分号过滤规则,避免以分号开头的行被丢弃
  • 将Echo !Line!改为Echo(!Line!,解决普通ECHO语句会自动截断行首尾空格、空行输出异常的问题
  • 保留原有的延迟膨胀开关逻辑,避免行内容中的感叹号被误解析丢失

效果验证

  • 仅删除原文件最后一行,其余所有内容包括行内空格、行首空格、行尾空格、空行都会完整保留
  • 自动生成原文件备份,操作失败时不会损坏原始数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:15:02