Board logo

标题: 500元求助写安装字体程序 [打印本页]

作者: klamelin    时间: 2020-10-13 18:08     标题: 500元求助写安装字体程序

本帖最后由 klamelin 于 2020-10-19 13:26 编辑

我自己开发了几套字体,之前找人写过一个bat,现在想升级下。其实是达到类似目的,但是实现过程完全不一样了。

已完成。
作者: yhcfsr    时间: 2020-10-13 19:49

5,6应该是做不到的,其他的理论上都可以实现.
作者: zaqmlp    时间: 2020-10-13 20:36

本帖最后由 zaqmlp 于 2020-10-13 23:43 编辑

安装
  1. @echo off
  2. set checkdays=20201013 20201014 20201015 20201016
  3. >"%tmp%\y83j6rf.v" echo;d=date:WSH.echo right(Year(d),4) ^& right("0" ^& Month(d),2) ^& right("0" ^& Day(d),2)
  4. set f=0
  5. for /f %%a in ('cscript -nologo -e:vbscript "%tmp%\y83j6rf.v"') do (
  6.     for %%b in (%checkdays%) do (
  7.         if "%%a" equ "%%b" set /a f+=1
  8.     )
  9. )
  10. if "%f%" equ "0" (echo;已过期&goto end)
  11. rem 3位字体编号
  12. set fontcode=467
  13. (
  14. echo;list disk
  15. echo;select disk 0
  16. echo;detail disk
  17. echo;exit
  18. )>"%temp%\d.txt"
  19. set "diskID="
  20. for /f "tokens=1* delims=:" %%a in ('diskpart /s "%temp%\d.txt"^|findstr /i /c:"磁盘 ID:" /c:"Disk ID:"') do (
  21.     set "diskID=%%b"
  22. )
  23. if not defined diskID (echo;获取机器码失败&goto end)
  24. set "diskID=%diskID: =%"
  25. set localcode=%diskID:~-8%%fontcode%
  26. echo;机器码:%localcode%
  27. set salt=3.1415
  28. (
  29. echo;var a=WSH.Arguments^(0^),salt=Number^(WSH.Arguments^(1^)^),s=0;
  30. echo;var b=a.split^(""^).reverse^(^);
  31. echo;for^(var i=0;i^<b.length;i++^){s+=b[i].charCodeAt^(^)*salt;}
  32. echo;WSH.echo^(s.toString^(^).replace^(".","-"^).split^(""^).reverse^(^).join^(""^)^);
  33. )>"%tmp%\4f9kho.j"
  34. set "xcode="
  35. for /f "delims=" %%a in ('cscript -nologo -e:jscript "%tmp%\4f9kho.j" "%localcode%" "%salt%"') do set "xcode=%%a"
  36. rem echo;%xcode%
  37. set /p checkcode=请输入授权码:
  38. if not defined xcode (goto end)
  39. if "%xcode%" neq "%checkcode%" (echo;授权码错误&goto end)
  40. echo;已授权,开始安装……
  41. attrib -s -h "%windir%\Fonts"
  42. cd /d "%~dp0"
  43. set "exefile1=rar.exe"
  44. set "exefile2=FontReg.exe"
  45. if not exist "%exefile1%" (echo;"%exefile1%" 未找到&goto end)
  46. if not exist "%exefile2%" (echo;"%exefile2%" 未找到&goto end)
  47. for /f "delims=" %%a in ('dir /a-d/b/s *.rar') do (
  48.     echo;"%%~nxa"
  49.     %exefile1% x -o+ -p"888666" "%%a" >nul 2>nul
  50.     for /f "delims=" %%b in ('dir /a-d/b/s *.ttf') do (
  51.         echo;安装字体"%%~nxb"
  52.         pushd "%%~dpb"
  53.         "%~dp0%exefile2%" /copy
  54.         popd
  55.         rd /s /q "%%~dpb">nul
  56.     )
  57. )
  58. attrib +s +h "%windir%\Fonts"
  59. echo;安装完成
  60. :end
  61. echo;请按任意键退出
  62. pause>nul
  63. exit
复制代码

作者: zaqmlp    时间: 2020-10-13 20:41

本帖最后由 zaqmlp 于 2020-10-13 23:42 编辑

计算授权码
  1. @echo off
  2. set /p localcode=请输入机器码:
  3. if not defined localcode (pause&exit)
  4. set salt=3.1415
  5. (
  6. echo;var a=WSH.Arguments^(0^),salt=Number^(WSH.Arguments^(1^)^),s=0;
  7. echo;var b=a.split^(""^).reverse^(^);
  8. echo;for^(var i=0;i^<b.length;i++^){s+=b[i].charCodeAt^(^)*salt;}
  9. echo;WSH.echo^(s.toString^(^).replace^(".","-"^).split^(""^).reverse^(^).join^(""^)^);
  10. )>"%tmp%\4f9kho.j"
  11. set "xcode="
  12. for /f "delims=" %%a in ('cscript -nologo -e:jscript "%tmp%\4f9kho.j" "%localcode%" "%salt%"') do set "xcode=%%a"
  13. echo;授权码:%xcode%
  14. pause
  15. exit
复制代码

作者: peterboy666    时间: 2020-10-14 16:06

我的看法,

全程用 EXE 程序,不要夹 BAT.
作者: klamelin    时间: 2020-10-14 18:05

回复 4# zaqmlp


    好的。我今晚研究下。我加你qq了,想咨询些细节。还有付款。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2