一、bat修改注册表的值
对于Windows系统,在初始阶段或是过程中存在一些需要调整的参数,如注册表的启动项、桌面背景等等,由于个人需求、操作系统不同,往往需要我们修改特定的注册表值。bat文件可以帮助我们在减少重复工作、提高效率的同时,对注册表的修改也不例外,以下是一个简单示例:
@echo off reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "C:\Users\User\Pictures\wallpaper.jpg" /f
上述代码将修改“HKEY_CURRENT_USER\Control Panel\Desktop”路径下的”Wallpaper”键名并将其值设为”C:\Users\User\Pictures\wallpaper.jpg”。其中,/v表示指定键,/t表示设定键值数据类型,/d表示指定键值,/f表示强制覆盖。
二、bat脚本修改注册表
在bat脚本中修改注册表需要借助“REG”命令的支持,下面是修改“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System”的一个示例:
@echo off REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v DisableTaskMgr /d 1 /t REG_DWORD /f
上述代码将禁用任务管理器,其中,/v表示键名称,“DisableTaskMgr”为键名;/d表示键值数据;/t表示键值数据类型,REG_DWORD表示二进制;/f表示强制覆盖。
三、bat修改注册表数值
在bat文件中也可以修改注册表中键值的数值,下面是一个修改Windows系统启动速度的示例:
@echo off REG ADD "HKEY_CURRENT_USER\Control Panel\Desktop" /v AutoEndTasks /t REG_SZ /d "1" /f
上述代码将Windows系统启动速度调整为最快,其中,“AutoEndTasks”为键名,数值类型为字符串,数值为“1”。
四、bat修改注册表的命令
除了修改注册表的键值之外,bat文件还可以执行一些常用的命令,此处以删除一个文件为例:
@echo off REG DELETE "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\UserChoice" /va /f del "C:\Users\User\Documents\example.txt"
上述代码删除了用户之前打开过的“example.txt”文件,并通过REG DELETE命令删除了之前默认打开方式的注册表键值。
五、bat修改注册表没反应
如果在运行bat文件时出现修改注册表没有任何反应的情况,很可能是缺少管理员权限。此时,可以添加以下代码以获取管理员权限:
@echo off goto check_Permissions :check_Permissions echo. echo. echo ==================== Checking Permissions... ===================== echo. echo. net file >nul 2>nul if '%errorlevel%' == '0' ( goto Got_Permissions ) else ( powershell start -verb runas '"%~0" &exit /b' ) :Got_Permissions echo. echo. echo ==================== Got Permissions! ===================== echo. echo. @pause REM 编写需要管理员权限的指令 pause
上述代码先判断是否获得管理员权限,如果没有,则调用powershell以管理员模式重新运行bat文件。
六、bat修改注册表追加字符串
有时候需要在注册表键值后面追加一个字符串,这时候可以使用for命令:
@echo off set key="HKEY_CURRENT_USER\Control Panel\Desktop" set value="SCRNSAVE.EXE" set data="C:\Windows\System32\Mystify.scr" for /f "skip=2 tokens=3*" %%a in ('reg query %key% /v %value%') do (set "_V=%%b") set value=%value%=%data% reg add %key% /v %value% /t REG_SZ /d "%_V%%data%"
上述代码追加了字符串“C:\Windows\System32\Mystify.scr”到“HKEY_CURRENT_USER\Control Panel\Desktop”键路径下的”SCRNSAVE.EXE”键值后面。
七、修改注册表命令
在bat文件中使用REG命令修改注册表,下面是一个简单示例:
@echo off reg add HKEY_CLASSES_ROOT\txtfile\shell\Open\command /ve /t REG_EXPAND_SZ /d "\"C:\Program Files (x86)\Notepad++\notepad++.exe\" \"%%1\"" /f
上述代码将“txt”文件设定默认打开方式为Notepad++。
八、修改注册表批处理命令
在bat文件中还可以使用REGEDIT命令将含有多个注册表键值信息的文件导入到系统中:
@echo off regedit /s regfile.reg
上述代码将“regfile.reg”文件中的全部注册表键值信息导入到系统中。
九、abb修改注册表
除了正确的语法和语义,还需注意指定正确的键路径和键值。下面是一个简单示例:
@echo off set "key=HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics" set "value=BorderWidth" set "data=0" reg add %key% /v %value% /t REG_SZ /d %data% /f
上述代码将“HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics”键路径下的”BorderWidth”键值设为0。
十、如何修改注册表
修改注册表时,一定要谨慎,最好备份注册表。同时,要确保当前用户拥有权限修改相应的键值,否则操作将失败。另外,使用bat文件辅助管理注册表时,一定要注意到bat脚本本身可能存在漏洞和安全隐患,要避免被他人攻击。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/280491.html