找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24918|回复: 2

[文本处理] 批处理如何删除文本中第二个特定字符串后面的内容?

[复制链接]
发表于 2018-11-21 08:16:49 | 显示全部楼层 |阅读模式
修改之前文本:
[56sdfg21sg312]3adf12as
f11h[3af123asf121g]
faws5ef2f
[
fasd35r
]
[3a3sdf2f
hgadf3]

修改之后:
[56sdfg21sg312]3adf12as
f11h[3af123asf121g]


就是要删除文本中第二个]后面的所有的内容。格式不变。找了半天不知道咋写,真心求教!
发表于 2018-11-21 11:22:25 | 显示全部楼层
你的文件较特殊可以这样:
纯P

  1. @echo off & cd /d "%~dp0"
  2. (for /f "delims=" %%a in (00.txt) do echo %%a|findstr ".*\[.*\].*">nul && echo %%a)>ok.txt
  3. pause
复制代码
PS版 xxx.ps1

  1. (gc 00.txt|%{if($_ -match '.*\[.*\].*'){$_}})>ok.txt
  2. pause
复制代码
发表于 2018-11-22 15:55:08 | 显示全部楼层
本帖最后由 WHY 于 2018-11-22 19:03 编辑

PowerShell
  1. $arr = type a.txt -Delimiter ']' -ReadCount 0;
  2. sc b.txt -Value ($arr[0]+$arr[1])
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 22:28 , Processed in 0.017502 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表