![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 23:23 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » reg 转 bat , 中有个没有解决的方法。。 |
| 可打印版本 917 / 1 |
| 第1楼 icebat | 发表于 2009-12-06 19:24 |
| 初级用户 发帖 11 积分 20 | |
|
reg 转 bat , 中有个没有解决的方法。。 :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 http://hi.baidu.com/110denghai echo. echo. :: ================================================ setlocal enabledelayedexpansion 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%%" :end goto start11 :: 下面是为了防止倒退的层数超过根目录 :intercept for /f "delims=" %%i in (%1) do set "rrrr=%%~dpi" if "%rrrr:~-2,1%"==":" (goto end) else set "rrrr=%rrrr:~0,-1%" goto :eof :: 主程序开始的地方=========================== :start11 for /f "delims=" %%i in ("%ravel%") do set "name=%%~ni" if exist "%rrrr%\%name%_sourse.bat" (call :erro1) echo type nul^>"%name%_new.reg">"%rrrr%\%name%_sourse.bat" for /f "tokens=1* delims=:" %%a in ('type "%ravel%" ^| findstr /n .*') do ( if "%%b" equ "" ( echo echo.^>^>"%name%_new.reg">>"%rrrr%\%name%_sourse.bat" )else ( echo ^>^>"%name%_new.reg" echo %%b>>"%rrrr%\%name%_sourse.bat" ) ) ::主程序完的地方============================================ 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 ::采用下面混编可以让此注册表直接变为批处理 ::REGEDIT4 ::;regedit /s "%~f0"&assoc .txt=filetxt&&goto :eof 我想知道,就是如果注册表文件里面 出现了, % , 怎么能够消除百分号,不然 用echo 输出的 % 就没有啦。 |
|
| 第2楼 icebat | 发表于 2009-12-06 20:48 |
| 初级用户 发帖 11 积分 20 | |
|
OK 已经 自己解决了。。。 整理一下,就发给大家看看。。。
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |