批处理或vbs删除文本行首和行尾关键词。

批处理或vbs删除文本行首和行尾关键词。比如文本内容:你好123757676你好15你好12aaa删除行首尾你好,处理后内容123757567615你好12aaa... 批处理或vbs删除文本行首和行尾关键词。比如文本内容:
你好123757676你好
15你好12aaa

删除行首尾你好,处理后内容
1237575676
15你好12aaa
展开
 我来答
折柳成萌
高粉答主

2017-09-29 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:4.4万
采纳率:96%
帮助的人:6332万
展开全部
@echo off
set /p before=请输入前面的字符
set /p after=请输入后面的字符
for /f "delims=" %%i in (1.txt) do (
if "%%i"=="" (
echo.>>2.txt
) else (
echo %before%%%i%after%>>2.txt
)
)
del 1.txt
ren 2.txt 1.txt
保存为123.bat 运行时保证123.bat和1.txt文件在同一目录下
追问
你这是插入,不是删除?
依梦琴瑶
高粉答主

2018-01-29 · 说的都是干货,快来关注
知道顶级答主
回答量:6.9万
采纳率:82%
帮助的人:1.7亿
展开全部
@echo off & title 删除行首尾指定字符串 By 依梦琴瑶

::设置要处理的文件
set File=新建文本文档.txt

::设置行首关键字符
set BeginStr=你好

::设置行尾关键字符
set EndStr=你好

call :GetLength BeginStr B
call :GetLength EndStr E

(for /f "delims=" %%a in ('type "%File%"') do (
    set "Str=%%~a"
    call :CheckDelStr "%%Str:~,%B%%%" "%BeginStr%" "~%B%"
    call :CheckDelStr "%%Str:~-%E%%%" "%EndStr%" "~,-%E%"
    call echo %%Str%%
))>NewFile$.Log

::如果测试正常,请启用下面的命令,这样即可更新原始文件
::move /y NewFile$.Log "%File%" >nul

echo ok
pause
exit

:CheckDelStr
if "%~1"=="%~2" call set Str=%%Str:%~3%%
goto :eof

:GetLength
set N=0

:LenLoop
call set S=%%%~1:~%N%,1%%
if not defined S (
    set %~2=%N%
    goto :eof
)
set /a N+=1
goto LenLoop

居然是去年的题。

更多追问追答
追问
这两天加班到很晚,很抱歉确认晚了,十分谢谢您了!
追答
您貌似确认错人了吧!采纳了一个错误答案。无语。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式