查看: 1242|回复: 9
收起左侧

[其他] 求批处理:删除文本含关键字(整行),修改另外一些关键字

[复制链接]
yyz219
头像被屏蔽
发表于 2022-7-19 07:50:12 | 显示全部楼层 |阅读模式
本帖最后由 yyz219 于 2022-7-19 10:04 编辑

现需要删除1.txt里面的,第2、3、4、5个“Windows Registry Editor Version 5.00”(整行)
修改1.txt里面的,第2、3、4、5个“.png”(依次为:.bmp .gif .jpeg .jpg)【希望编辑.bmp .gif .jpeg .jpg方便,最好是读取2.txt:.bmp .gif .jpeg .jpg】


1.txt:


Windows Registry Editor Version 5.00


[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.png\OpenWithList]
"a"="iexplore.exe"
"MRUList"="cebdfagij"
"b"="小Q画笔.exe"
"d"="ACDSeeQV.exe"
"e"="chrome.exe"
"f"="mspaint.exe"
"g"="搜索.exe"
"h"="Honeyview32.exe"
"i"="复制到剪切板.exe"
"j"="DllHost.exe"
"c"="Imagine64.exe"


Windows Registry Editor Version 5.00


[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.png\OpenWithList]
"a"="iexplore.exe"
"MRUList"="cebdfagij"
"b"="小Q画笔.exe"
"d"="ACDSeeQV.exe"
"e"="chrome.exe"
"f"="mspaint.exe"
"g"="搜索.exe"
"h"="Honeyview32.exe"
"i"="复制到剪切板.exe"
"j"="DllHost.exe"
"c"="Imagine64.exe"


Windows Registry Editor Version 5.00


[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.png\OpenWithList]
"a"="iexplore.exe"
"MRUList"="cebdfagij"
"b"="小Q画笔.exe"
"d"="ACDSeeQV.exe"
"e"="chrome.exe"
"f"="mspaint.exe"
"g"="搜索.exe"
"h"="Honeyview32.exe"
"i"="复制到剪切板.exe"
"j"="DllHost.exe"
"c"="Imagine64.exe"


Windows Registry Editor Version 5.00


[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.png\OpenWithList]
"a"="iexplore.exe"
"MRUList"="cebdfagij"
"b"="小Q画笔.exe"
"d"="ACDSeeQV.exe"
"e"="chrome.exe"
"f"="mspaint.exe"
"g"="搜索.exe"
"h"="Honeyview32.exe"
"i"="复制到剪切板.exe"
"j"="DllHost.exe"
"c"="Imagine64.exe"


Windows Registry Editor Version 5.00


[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.png\OpenWithList]
"a"="iexplore.exe"
"MRUList"="cebdfagij"
"b"="小Q画笔.exe"
"d"="ACDSeeQV.exe"
"e"="chrome.exe"
"f"="mspaint.exe"
"g"="搜索.exe"
"h"="Honeyview32.exe"
"i"="复制到剪切板.exe"
"j"="DllHost.exe"
"c"="Imagine64.exe"

clark2505
发表于 2022-7-19 11:26:07 | 显示全部楼层
你这个逻辑不太对呀,你说的用for 都能实现,但是感觉有更好的思路,你的目的是什么最好说清楚

评分

参与人数 1人气 +3 收起 理由
yyz219 + 3 版区有你更精彩: )

查看全部评分

clark2505
发表于 2022-7-19 11:38:53 | 显示全部楼层
"g"="搜索.exe"
"h"="Honeyview32.exe"
"i"="复制到剪切板.exe"  
这种写法应该也是不行的,系统没办法知道 复制到剪切板.exe 在哪里,没办法调用。
yyz219
头像被屏蔽
 楼主| 发表于 2022-7-19 12:04:33 | 显示全部楼层
clark2505 发表于 2022-7-19 11:38
"g"="搜索.exe"
"h"="Honeyview32.exe"
"i"="复制到剪切板.exe"  

这行。是导出的注册表文件改为.txt得到的
yyz219
头像被屏蔽
 楼主| 发表于 2022-7-19 12:06:40 | 显示全部楼层
本帖最后由 yyz219 于 2022-7-19 12:50 编辑
clark2505 发表于 2022-7-19 11:26
你这个逻辑不太对呀,你说的用for 都能实现,但是感觉有更好的思路,你的目的是什么最好说清楚

方便在右键……打开方式……里面添加程序(添加一个类型以后,其它交给批处理)
firo1603
发表于 2022-7-19 16:57:39 | 显示全部楼层
只会用sed操作

评分

参与人数 1人气 +3 收起 理由
yyz219 + 3 版区有你更精彩: )

查看全部评分

yyz219
头像被屏蔽
 楼主| 发表于 2022-7-19 16:59:35 | 显示全部楼层

sed我有,能不能发代码给我试一试?谢谢
clark2505
发表于 2022-7-19 17:21:02 | 显示全部楼层
yyz219 发表于 2022-7-19 12:06
方便在右键……打开方式……里面添加程序(添加一个类型以后,其它交给批处理)

如果非常多格式需要添加,那你用批处理批量生成.reg的文件导入不就好了?批处理是可以设置变量的。只把文件类型用变量替换不就好了。如果是固定几个格式,写道一个reg文件里不久可以了
yyz219
头像被屏蔽
 楼主| 发表于 2022-7-19 17:42:13 | 显示全部楼层
clark2505 发表于 2022-7-19 17:21
如果非常多格式需要添加,那你用批处理批量生成.reg的文件导入不就好了?批处理是可以设置变量的。只把文 ...

问题是,我需要保留原来的(在原来的基础上添加)

再说,批处理我也懂得很少
yyz219
头像被屏蔽
 楼主| 发表于 2022-7-19 17:46:38 | 显示全部楼层
clark2505 发表于 2022-7-19 17:21
如果非常多格式需要添加,那你用批处理批量生成.reg的文件导入不就好了?批处理是可以设置变量的。只把文 ...

目前的代码如下,可以达到我的需求(但是,不科学),求斧正:
【使用方法:1.手工添加png文件的打开方式,2.运行批处理】

@echo off
::【导出的PNG注册表项(文件:159.txt)】
regedit /e "159.txt"  "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.png\OpenWithList"
::【删除文本前3行】
SET TxtDir="%~dp0"
SET /A N=3
CD /D %TxtDir%
FOR /F "tokens=1 delims=" %%I IN ('DIR /A /B 159.txt') DO ((MORE +%N% "%%I">"%%I_")&(DEL /A /F /Q "%%I")&(REN "%%I_" "%%I"))
::****************************************************************
setlocal enabledelayedexpansion
cd /d "%~dp0"
::***************【文件的后缀】***********************************
set ext=.bmp .gif .jpeg .jpg .png
(
  echo Windows Registry Editor Version 5.00
  echo.
  for %%A in (%ext%) do (
    (echo [-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\%%~A\OpenWithList]
    echo.)
  )
)>>2.reg
::【根据159.txt生成注册表】
  for %%A in (%ext%) do (
    (echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\%%~A\OpenWithList]
    type "159.txt")
  )>>2.reg
regedit.exe/s  "2.reg"          %【导入注册表】%
del 2.reg 159.txt
cls
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo                                     完成操作
pause>nul
exit
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-24 03:29 , Processed in 0.143510 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

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