64位小狼毫配置转移包


有大佬制作了 64bitweasel 外壳程序,但是众所周知 rime.dll 里好多函数接口还是 32bit 的。佛振迟迟没有动静,资源库暂时观望一阵。

群里有群友要尝鲜,沟通太费事了。

索性,写了一个配置脚本,压缩包已上传到资源库。

@echo off

set id=%USERNAME%

for /f "tokens=1,2,* " %%i in ('REG QUERY HKEY_CURRENT_USER\Software\Rime\Weasel /v RimeUserDir ^| find /i "RimeUserDir"') do set "UserDir=%%k"

if defined UserDir (
    echo 变量 UserDir 的值不为空
) else set UserDir="C:\Users\%id%\AppData\Roaming\Rime"

echo "用户目录-已修正为: %UserDir%"

for /f "tokens=1,2,* " %%i in ('REG QUERY HKEY_LOCAL_MACHINE\SOFTWARE\Rime\Weasel /v WeaselRoot ^| find /i "WeaselRoot"') do set "regvalue=%%k"

echo "安装路径为: %regvalue%"

set tables="%~dp0"

echo "初始化算法服务"

start "" "%regvalue%\WeaselServer.exe"

echo "延时 2 秒"

ping -n 2 127.0.0.1>nul

echo "结束算法服务"

TASKKILL /F /IM WeaselServer.exe

echo "延时 2 秒"

ping -n 2 127.0.0.1>nul

echo "清空「用户目录」,免其干扰新参数生效"

set  aPath="%UserDir%"\build
call:CleanDirfunc "%aPath%"

set  aPath="%UserDir%"\lua\lib
call:CleanDirfunc "%aPath%"

set  aPath="%UserDir%"\lua
call:CleanDirfunc "%aPath%"

set  aPath="%UserDir%"\icons
call:CleanDirfunc "%aPath%"

echo "已清空「build」"

cd "%UserDir%"

for /f "delims=" %%a in ('dir/s/ad/b^|sort /r') do (
echo,rd /s /Q "%%a"&& rd /s /Q "%%a"
)

DEL /F /A /Q "%UserDir%"\*

echo "1-成功清空「用户目录」"


cd "%regvalue%"\data

echo "准备更新程序目录了"

set  aPath=%regvalue%\data\opencc
call:CleanDirfunc "%aPath%"

set  aPath=%regvalue%\data\lua\lib
call:CleanDirfunc "%aPath%"

set  aPath=%regvalue%\data\lua
call:CleanDirfunc "%aPath%"

set  aPath=%regvalue%\data\bin
call:CleanDirfunc "%aPath%"

set  aPath=%regvalue%\data\build
call:CleanDirfunc "%aPath%"

set  aPath=%regvalue%\data\preview
call:CleanDirfunc "%aPath%"

for /f "delims=" %%a in ('dir/s/ad/b^|sort /r') do (
echo,rd /s /Q "%%a"&& rd /s /Q "%%a"
)

DEL /F /A /Q "%regvalue%"\data\*.yaml
DEL /F /A /Q "%regvalue%"\data\*.*

md "%regvalue%\data\preview"
md "%regvalue%\data\opencc"

echo d|xcopy /S /Y %tables%\patch\data\* "%regvalue%"\data\
echo d|xcopy /S /Y %tables%\patch\preview\* "%regvalue%\data\preview\"
echo d|xcopy /S /Y %tables%\patch\opencc\* "%regvalue%\data\opencc\"


echo "2-更新APPDATA目录"

md "%UserDir%\build"

echo d|xcopy /S /Y %tables%\patch\build\* "%UserDir%\build\"
echo d|xcopy /S /Y %tables%\patch\data\* "%UserDir%\"

echo "3-已放好了所有「新文件」,即将唤醒算法服务"

ping -n 5 127.0.0.1>nul

echo "唤醒算法服服,预备重新部署"

start "" "%regvalue%\WeaselServer.exe"

echo "延时 2 秒"

ping -n 2 127.0.0.1>nul

echo "重新部署,即将恢复正常"

"%regvalue%/WeaselServer.exe" /weaseldir
echo "程序目录已打开"
"%regvalue%/WeaselServer.exe" /userdir

"%regvalue%/WeaselDeployer.exe" /deploy
echo "重新布署成功"

echo "用户目录已打开"

:CleanDirfunc
if exist "%1" (
   echo "%1" 路径非空
   DEL /F /A /Q %1\*
   rd /s /q %1
) else (
 echo "%1" 路径为空,已略过
)
GOTO :EOF

pause

文章作者: 五笔小筑
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 五笔小筑 !
评论
  目录