用批处理删除指定文件中字符串前面的文字?

怎么删除指定字符串之前的内容我在论坛上搜到了删除指定字符串之后的代码,要删指定字符串之前的要怎么改。谢谢。@echooffset"str=UID"for/f"delims... 怎么删除指定字符串之前的内容
我在论坛上搜到了删除指定字符串之后的代码,要删指定字符串之前的要怎么改。谢谢。
@echo off
set "str=UID"

for /f "delims=" %%s in ('findstr /m /c:"%str%" *.txt') do call :sub "%%s"
del "%temp%\.tmp"
exit /b

:sub
findstr /n .* %1 > "%temp%\.tmp"
(
for /f "usebackq delims=" %%t in ("%temp%\.tmp") do (
EndLocal
set var=%%t
SetLocal EnableDelayedExpansion
if "!var:%str%=!" neq "!var!" (
for /f "delims=" %%L in ("!var:%str%=!") do set var=%%L
echo,!var:*:=!
goto :eof
)
echo,!var:*:=!
)
) > %1
展开
 我来答
yyykkkyyyy
2010-07-07 · TA获得超过3136个赞
知道大有可为答主
回答量:2691
采纳率:40%
帮助的人:3300万
展开全部
楼主问了两个次哦,怎么也没别人来答,那我就再改写一个吧,处理会保留空行、查找不分大小写 (他这个删指定字符之下的代码要是文件名有空格会出错)

@echo off&SetLocal EnableDelayedExpansion
set "str=UID"

for /f "delims=" %%s in ('findstr /m /i /c:"%str%" "*.txt"')do (
set flag=
for /f "tokens=1* delims=:" %%u in ('findstr /n .* "%%s"') do (
set var=%%u:%%v
if "!var:%str%=!" neq "!var!" (
for /f "delims=" %%L in ("!var:%str%=!")do (
call echo.!var:%%L=!>ykytemp.txt
set flag=1
)
)else (if defined flag echo.%%v>>ykytemp.txt)
)
del "%%s"
ren ykytemp.txt "%%s"
)
echo 处理完毕,即将退出...
ping /n 5 127.1>nul
zl8851023
2010-07-06 · 超过15用户采纳过TA的回答
知道答主
回答量:125
采纳率:0%
帮助的人:0
展开全部
把指定字符串前面的内容替换成空。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式