Skip to content

Instantly share code, notes, and snippets.

@HamGuy
Created January 2, 2014 01:37
Show Gist options
  • Save HamGuy/8213769 to your computer and use it in GitHub Desktop.
Save HamGuy/8213769 to your computer and use it in GitHub Desktop.
Windows 8 备份激活
@echo off
title Windows 8 备份激活批处理 By 柳飘清枫
call :admintest
echo.
echo 此工具会备份/还原您电脑上的 Windows 8 激活信息
echo 还原之前需要把备份的 store 文件夹放到桌面上再运行此文件
echo.
choice /C 12 /N /M "继续请按 1,退出请按 2"
IF ERRORLEVEL 2 exit
IF ERRORLEVEL 1 goto :menu
:menu
echo.
echo. 1. 备份激活信息(Backup)
echo.
echo. 2. 还原激活信息(Restore)
echo.
echo. 3. 退出
echo.
choice /C 123 /M "请选择要继续的操作:"
IF ERRORLEVEL 3 exit
IF ERRORLEVEL 2 goto :key
IF ERRORLEVEL 1 goto :bakup
:bakup
echo.
echo.请输入当前使用的密钥,将会备份到桌面 key.txt
echo.
set /p a=密钥:
echo slmgr.vbs -ipk %a%>%USERPROFILE%\Desktop\key.txt
echo.
md %USERPROFILE%\Desktop\store\cache
attrib -h "%SYSTEMROOT%\System32\spp\store\data.dat"
copy "%SYSTEMROOT%\System32\spp\store\" "%USERPROFILE%\Desktop\store\"
copy "%SYSTEMROOT%\System32\spp\store\cache\cache.dat" "%USERPROFILE%\Desktop\store\cache\cache.dat"
echo.
echo 激活信息已经备份到桌面 store 文件夹中,O(∩_∩)O谢谢您的使用,按下任意键退出…
pause>nul
exit
:key
cls
echo.
echo.还原前需要替换当前系统密钥为之前备份激活密钥
echo.
choice /C 12 /M "如果已经替换请按 1,需要替换密钥请按 2"
IF ERRORLEVEL 2 (
echo.
set /p key=请输入密钥:
goto :replace
)
IF ERRORLEVEL 1 goto :restore
:replace
echo.
echo.正在替换密钥…请稍等……
echo.
cscript //nologo slmgr.vbs /ipk %key%
echo.替换成功,按任意键继续…
pause>nul
goto :restore
:restore
echo.
net stop sppsvc
attrib -h "%SYSTEMROOT%\System32\spp\store\data.dat"
copy "%USERPROFILE%\Desktop\store\data.dat" "%SYSTEMROOT%\System32\spp\store\data.dat" /y
copy "%USERPROFILE%\Desktop\store\tokens.dat" "%SYSTEMROOT%\System32\spp\store\tokens.dat" /y
copy "%USERPROFILE%\Desktop\store\cache\cache.dat" "%SYSTEMROOT%\System32\spp\store\cache\cache.dat" /y
attrib +h "%SYSTEMROOT%\System32\spp\store\data.dat"
echo.
net start sppsvc
cscript /nologo slmgr.vbs -dli
echo 还原完毕,O(∩_∩)O谢谢您的使用,按下任意键退出…
pause>nul
exit
:admintest
set rnd=_%random%
md %windir%\%rnd% >nul 2>nul
if %errorlevel%==1 (
echo.请以管理员身份运行!本窗口将在3秒后关闭!
choice /t 3 /d y /n >nul
exit
)
rd /q %windir%\%rnd%
exit /b
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment