|
try this one
- :again
- @echo off
- color 0b
- mode con: cols=90 lines=20
- title "【REG 2 BAT 2 REG】 "
- echo 【REG 2 BAT 2 REG】
- echo.
- echo.
- echo 1.导出注册表为XX.reg
- echo.
- echo 2.把XX.reg拖入本程序窗口,在XX.reg的旁边生成XX_sourse.bat
- echo.
- echo 3.运行XX_sourse.bat 生成XX_new.reg
- echo.
- echo.
- echo BY 搞爆地球 重庆理工大 , 2009.12.6
- echo [url]http://hi.baidu.com/110denghai[/url]
- echo.
- echo.
- ::传递目标路径到变量===============================================
- set route=%cd%
- set ravel=
- set /p ravel= 请拖入要转换的注册表:
- set "ravel=%ravel:"=%"
- ::下面是设置路径的倒退几层传递到rrrr,为什么要写这个?当初看到这段代码,觉得很好,就写上了。
- set "rrrr=%ravel%"
- set layers_discard=1
- if "%rrrr:~-1%"=="" set "rrrr=%rrrr:~0,-1%"
- for /l %%i in (1,1,%layers_discard%) do call :intercept "%%rrrr%%"
- ::万一有同名文件,询问=======================
- for /f "delims=" %%i in ("%ravel%") do set "name=%%~ni"
- if exist "%rrrr%\%name%_sourse.bat" (call :erro1)
- >"%rrrr%\%name%_sourse.bat" echo type nul^>"%name%_new.reg"
- :: 主程序【开始】的地方【【【【【【【【【【【【【【【【【【【【【【【【【【【【【
- for /f "delims=" %%a in ('type "%ravel%" ^| findstr /n .*') do (
- ::对特殊符号进行纠正==============================
- set "aaa=%%a"
- setlocal enabledelayedexpansion
- set aaa=!aaa:^^=^^^^!
- set aaa=!aaa:%%=%%%%!
- set aaa=!aaa:^&=^^^&!
- set aaa=!aaa:^"=^^^"!
- set aaa=!aaa:^>=^^^>!
- set aaa=!aaa:^<=^^^<!
- set aaa=!aaa:^|=^^^|!
- set aaa=!aaa:*:=!
-
- >>"%rrrr%\%name%_sourse.bat" echo ^>^>"%name%_new.reg" echo\!aaa!
- endlocal
- )
- ::主程序【完】的地方】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】
- cls
- color fc
- echo.
- echo.
- echo.
- echo.
- echo 生成完了,按任意键后返回,继续拖入。。。
- pause>nul
- cls
- goto again
- ::发现同名文件就询问,防止覆盖。=====================
- :erro1
- cls
- echo.
- echo.
- echo.
- echo.
- echo 生成的目录下面已经有 “%name%_sourse.bat”存在是否覆盖?
- echo.
- echo.
- echo 覆盖请按任意键, 不覆盖请关闭窗口
- pause>nul
- goto :eof
- :: 下面是为了防止倒退的层数超过根目录
- :intercept
- for /f "delims=" %%i in (%1) do set "rrrr=%%~dpi"
- if "%rrrr:~-2,1%"==":" (goto :eof) else set "rrrr=%rrrr:~0,-1%"
- goto :eof
- ::采用下面混编可以让此注册表直接变为批处理
- ::REGEDIT4
- ::;regedit /s "%~f0"&assoc .txt=filetxt&&goto :eof
- ::转载请保留作者信息。。
- :: 搞爆地球,重庆理工大,2009.12.11
- ::[url]http://hi.baidu.com/110denghai[/url]
复制代码 |
|