一、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/zh-tw/n/280491.html