如何用批处理查找并删除txt文件中的一串字符?

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\DeviceClasses\{53f56307-b6bf-11d0-94f... HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\DeviceClasses\{53f56307-b6bf-11d0-94f2-00a0c91efb8b}\##?21545
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\DeviceClasses\{53f56307-b6bf-11d0-94f2-00a0c91efb8b}\##?1854787
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\DeviceClasses\{53f56307-b6bf-11d0-94f2-00a0c91efb8b}\##?1854fdfg

比如1.txt 内容如上,我要用一个批处理自动删除HKEY_LOCAL_MACHINE这串字符
展开
 我来答
蔡瑀
2012-03-07 · TA获得超过231个赞
知道小有建树答主
回答量:424
采纳率:0%
帮助的人:331万
展开全部
on error resume next
strsif=chr(cdm("D7D6"))&chr(cdm("B7FB"))
strfind=chr(cdm("B2E9"))&chr(cdm("D5D2"))&strsif
strt=chr(cdm(10054)-65536)
strreplace=chr(cdm("CCE6"))&chr(cdm("BBBB"))&strsif
strtxt=strt&chr(cdm("10058")-65536)&strt
strtype=strtxt&chr(cdm("1007C")-65536)&chr(cdm("1002A")-65536)&chr(cdm("1002E")-65536)&strtxt
set shell=createobject("wscript.shell")
set open=createobject("scripting.filesystemobject")
set cdopen=createobject("useraccounts.commondialog")
Public Function CDm(ByVal Val)
Val = Replace(LCase(Val), LCase("&h"), "")
If IsNumeric(Val) Then Val = Fix(Val) Else Val = Val
CDm = CLng("&h" & Val)
End Function
function showopen(byval typeval,byval dirval)
cdopen.initialdir=dirval
cdopen.filter=typeval
cdopen.showopen
showopen=cdopen.filename
if showopen="" then exit function
end function
function find(text,str)
For lenstr = 1 To Len(Text)
If Mid(Text, lenstr, Len(str)) = str Then find = find + 1
Next
end function
do while sum=0
sum=0
typefile=""
typefile=showopen(strtype,chr(cdm("10058")-65536))
sum=open.getfile(typefile).size:
strd=split(typefile,"\")
for iub = 0 to ubound(strd)-1
stf=stf&strd(iub)&"\"
next
newfile=stf & "change_" & strd(ubound(strd))
if typefile<>"" then
if sum>0 then
read=open.opentextfile(typefile).readall
do
findstr=inputbox(strfind,wscript.scriptname)
if findstr=false then wscript.quit
if instr(read,findstr)>0then exit do:else msgbox "Error:not find string...",16,"Error"
loop
replacestr=inputbox(strreplace,wscript.scriptname)
if replacestr=false then wscript.quit
open.createtextfile(newfile).write replace(read,findstr,replacestr)
else
shell.run chr(34)&wscript.scriptfullname&chr(34),,1
wscript.quit
end if
else
wscript.quit
end if
loop
'保存为vbs类型文件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-03-13
展开全部
将处理前的文件改名为before.txt,然后把下面的语句复制保存为bat文件放在同一个目录中双击运行,替换后的文件为after.txt。
@mshta vbscript:execute("Document.Write():CreateObject(""Scripting.FileSystemObject"").OpenTextFile(""after.txt"",2,true).Write(Replace(CreateObject(""Scripting.FileSystemObject"").OpenTextFile(""before.txt"",1).ReadAll,""HKEY_LOCAL_MACHINE"","""")):Window.Close()")
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shrek175
2012-02-29 · 知道合伙人软件行家
shrek175
知道合伙人软件行家
采纳数:238 获赞数:691
17年IT从业经验,10年top10游戏运营公司技术核心。微软最有价值专家(powershell)。

向TA提问 私信TA
展开全部
用powershell吧!
$(gc test.txt) -Replace "HKEY_LOCAL_MACHINE",$null
更多追问追答
追问
能不能写个完整的批处理?本人生手,不太懂
追答
如果你的机器有装powershell,把这个内容保存为ps1文件,放在要操作的文件夹,执行就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sudoku52
2012-02-29 · TA获得超过7万个赞
知道大有可为答主
回答量:1.2万
采纳率:82%
帮助的人:4919万
展开全部
@echo off
(for /f "tokens=1* delims=\" %%i in (1.txt) do echo \%%j)>temp.txt
move /y temp.txt 1.txt
追问
你这个是以\为标志吧,我的意思我要查找的字符可以换成别的字符,并不一定是以\为界的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式