标题: [文本处理] 【已解决】求:bat修改文本内容(第三方也行)。谢谢! [打印本页]
作者: yyz219 时间: 2023-10-10 13:31 标题: 【已解决】求:bat修改文本内容(第三方也行)。谢谢!
本帖最后由 yyz219 于 2023-10-10 14:53 编辑
完美解决了
@echo off
::【导出注册表为:需修改.reg】
set /p 注册表路径=【右键】粘贴注册表路径:
reg query "%注册表路径%" /s >需修改.reg
::***************************************
::【修改:需修改.reg 变成:有路径.reg】
>有路径.reg (
echo Windows Registry Editor Version 5.00
echo=
)
for /f "tokens=1 delims=[]" %%a in ('find /n "默认" ^<"需修改.reg"') do (
set _"%%a"=1
)
(for /f "tokens=1* delims=[]" %%a in ('find /n /v "" ^<"需修改.reg"') do (
if "%%b" equ "" (
echo=
) else if not defined _"%%a" (
echo [%%b]
) else (
for /f "tokens=1-2*" %%c in ("%%b") do (
set str=%%e
setlocal enabledelayedexpansion
echo=@="!str:\=\\!"
endlocal
)
)
))>>有路径.reg
del 需修改.reg
_________________________________________________________________________________________
原来的问题:
需要修改的1.reg(蓝色内容不是固定的):
HKEY_CLASSES_ROOT\Imagine.PNG\shell\888
(默认) REG_SZ 888
HKEY_CLASSES_ROOT\Imagine.PNG\shell\888\command
(默认) REG_EXPAND_SZ D:\1绿色软件\多媒体\抓图抓滚动\抓滚动FSCapture97\FSCapture.exe %1
————————————————————————————
希望运行.bat后,得到“修改以后2.reg”:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Imagine.PNG\shell\888]
@="888"
[HKEY_CLASSES_ROOT\Imagine.PNG\shell\888\command]
@="D:\\1绿色软件\\多媒体\\抓图抓滚动\\抓滚动FSCapture97\\FSCapture.exe %1"
作者: yyz219 时间: 2023-10-10 13:49
本帖最后由 yyz219 于 2023-10-10 13:57 编辑
最后一行的 .exe ,也 有可能是 .bat, 也 有可能没有 %1
作者: 77七 时间: 2023-10-10 13:57
- @echo off
- rem 批处理保存为utf-8编码格式
- chcp 65001 >nul
- >2.reg (
- echo Windows Registry Editor Version 5.00
- echo=
- )
- for /f "tokens=1 delims=[]" %%a in ('find /n "默认" ^<"1.reg"') do (
- set _"%%a"=1
- )
- (for /f "tokens=1* delims=[]" %%a in ('find /n /v "" ^<"1.reg"') do (
- if "%%b" equ "" (
- echo=
- ) else if not defined _"%%a" (
- echo [%%b]
- ) else (
- for /f "tokens=1-2*" %%c in ("%%b") do (
- set str=%%e
- setlocal enabledelayedexpansion
- echo=@="!str:\=\\!"
- endlocal
- )
- )
- ))>>2.reg
复制代码
作者: yyz219 时间: 2023-10-10 13:58
77七 发表于 2023-10-10 13:57
我试一试先 谢谢
作者: yyz219 时间: 2023-10-10 14:04
本帖最后由 yyz219 于 2023-10-10 14:05 编辑
77七 发表于 2023-10-10 13:57
输出乱码(中文部分),应该怎样修改?
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Imagine.PNG\shell\888]
@="888"
[HKEY_CLASSES_ROOT\Imagine.PNG\shell\888\command]
@="D:\\1��ɫ���\\��y��\\ץͼץ����\\ץ����FSCapture97\\FSCapture.exe %1"
作者: 77七 时间: 2023-10-10 14:06
回复 5# yyz219
去掉代码第3行,批处理保存为ansi编码格式
作者: yyz219 时间: 2023-10-10 14:09
回复 yyz219
去掉代码第3行,批处理保存为ansi编码格式
77七 发表于 2023-10-10 14:06
我在试一试 谢谢
作者: yyz219 时间: 2023-10-10 14:12
回复 6# 77七
成功了 再次感谢
作者: qixiaobin0715 时间: 2023-10-10 15:07
回复 1# yyz219 - @echo off
- (echo,Windows Registry Editor Version 5.00
- echo,
- for /f "delims=" %%i in (1.reg) do (
- for /f "tokens=1,2*" %%a in ("%%i") do (
- if "%%a"=="(默认)" (
- set "str=%%c"
- setlocal enabledelayedexpansion
- echo,@="[!str:\=\\!]"
- endlocal
- echo,
- ) else (
- echo,%%i
- )
- )
- ))>2.reg
- pause
复制代码
作者: yyz219 时间: 2023-10-10 15:30
回复 yyz219
qixiaobin0715 发表于 2023-10-10 15:07
谢谢
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |