从 http://www.366840202.cn/blog/post/REG2CMD.html 看到的创意:
批处理中经常需要使用注册表文件。一般的作法是使用命令
regedit /s 注册表文件.reg
其实根据.REG文件和.CMD文件的特性,可以合二为一。
.REG文件中,; 开头代表注释
.CMD文件中,; 开头并不影响执行。
所以可以从这个方面入手。
下面的代码可以保存为 .reg 或 .bat 文件,都是正确的:- Windows Registry Editor Version 5.00
- ;@start regedit /s "%~f0" & exit /b
- [HKEY_CLASSES_ROOT\exefile\shell\/?\command]
- @="cmd /k \"%1\" /?"
复制代码 也可以不加分号;,因为除了 "a"="b" 或 @="b" 这样的行会添加到注册表,其他的都不会:- Windows Registry Editor Version 5.00
- goto 批处理代码
- [HKEY_CLASSES_ROOT\exefile\shell\/?\command]
- @="cmd /k \"%1\" /?"
-
- :批处理代码
- @echo off
- cls
- title REG与CMD混合编程
- echo 只要保证第一行为 reg 文件标识符就行了。
- echo.
- echo 只有 "a"="b" 或 @="b" 这样的行才会添加到注册表。所以不必担心批处理代码会添加到注册表。
- echo.
- echo 然后可以随时导入此“reg文件”:
- echo.
- echo 将执行 regedit /s %0
- echo.
- echo.
- pause
- start regedit /s "%~f0"
复制代码
[ 本帖最后由 tireless 于 2008-12-15 16:29 编辑 ] |