怎样用批处理修改注册表,和用REG文件修改一样吗?

我已经学会用.reg文件了,如果两种语言不一样。我不想再学一遍批处理了。所以我设计了一种思路。把reg语言(如下)导出到一个文本文档,再把扩展名改成reg,再运行就可以修改注册表了,请问“输出到文本文档”的命令是什么?
Windows Registry Editor Version 5.00[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]"NoClose"=dword:00000001

@echo off
mode con: cols=80 lines=25
:index
color FF
cls
echo.
echo.
echo REG 转 BAT 工 具
echo.
echo.
echo.
echo.
echo 本工具用来注册表文件转换成批处理文件!
echo.
echo 准 备 工 作
echo.
echo 把需要转换的注册表文件放到本程序目录下并改名为reg.reg.
echo.
echo 转换成功后会在本程序目录下生成"_tobat.bat" 格式的文件.
echo.
echo 注意: 如果本目录下存在" _tobat.bat"的文件,将会被替换.
echo.
echo.
echo.
echo.
echo.
echo 按任意键继续...
pause >nul
@echo off
color a
mode con cols=20 lines=3
setlocal enabledelayedexpansion
echo.>_tobat.bat
for /f "skip=2 tokens=*" %%i in ('type reg.reg') do (
set char=%%i
set char=!char:~0,1!
if !char!==[ (
set key=%%i
set key=!key:[HKEY_LOCAL_MACHINE=HKLM!
set key=!key:[HKEY_CURRENT_USER=HKCU!
set key=!key:[HKEY_CLASSES_ROOT=HKCR!
set key=!key:[HKEY_USER=HKU!
set key=!key:[HKEY_CUREENT_CONFIG=HKCC!
set key=!key:]=!
) else (
set vtd=%%i
for /f "tokens=1,2* delims==" %%i in ("!vtd!") do (
set v=%%i
set d=%%j
set t=REG_SZ
set type=!d:~0,4!
if !type!==dwor set t=REG_DWORD && set d=!d:dword:=!
if !type!==hex: set t=REG_BINARY && set d=!d:,=! && d=!d:hex:=!
echo reg add "!key!" /v !v! /t !t! /d !d! /f>>_tobat.bat
)
)
) 保存为 reg转bat.bat
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-24
恩,这样也是可以的,批处理中有一个命令是">"符号,符号左边是内容,右边是文件,">>"是追加,不会覆盖,而第一个是覆盖,你用第二个就好,还有一点就是文件名可以直接.reg,不需要TXT的

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网