bat批处理删除文本字符串?

问题描述:
批量删除文本中的格式为如:12:08:21,45:22:67,16:09:30...
批量删除文本中的格式为如:2017-06-19 12:08:21、2007-06-25 17:52:46...
年月日和时间的数字字符都是任意的(变量)注意日期和时间之间有空格哦!
感谢你的参与!

第1个回答  2019-07-26
不清楚你的实际文件,仅以问题中的样例为据@echo off
set @=有问题联系&set #=Q&set/az=0x53b7e0b4
title %@% +%#%%#% %z%
set "rootpath=%~dp0"
cd /d "%rootpath%"
set "输入=a.txt"
set "输出=b.txt"
powershell -NoProfile -ExecutionPolicy bypass ^
    $text=[IO.File]::ReadAllText('%输入%', [Text.Encoding]::Default);^
    $text=$text -replace '\d{4}(-\d{2}){2} \d{2}(:\d{2}){2}','';^
    $text=$text -replace '\d{2}(:\d{2}){2}','';^
    [IO.File]::WriteAllText('%输出%', $text, [Text.Encoding]::Default);
echo;%@% +%#%%#% %z%
pause

追问

感谢!代码可以运行,速度稍慢3秒左右(2KB的文本)
问题说明:1.我的意思是批处理,我有多个txt文本里面都有格式一样的字符。
2.不写入新文件,直接在原文件中删除。
3.针对文本的行,如果我只保留年月日,即年月日前和后的字符都删除(包括空格)。
可否修改一下代码,谢谢!

追答

按运行后窗口中的提示联系我

本回答被提问者采纳
第2个回答  2019-07-25
用批处理删除前目录所文本文件指定字符串前内容
txt文件内容
#1111111
#222222
qwe
asd
111
333

需要批处理运行删除带#号行
终变
#1111111
#222222

选择带#号行复制新文件 谢谢追问

不懂就别瞎参合,装 ?更是害人哦!

本回答被网友采纳
相似回答