pushWebGl.bat 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. @echo off
  2. chcp 65001 >nul
  3. setlocal
  4. :: 设置变量
  5. set SCRIPT_DIR=%~dp0
  6. set WEBGL_DIR=%SCRIPT_DIR%build\
  7. set PASSWORD_FILE=%SCRIPT_DIR%gfg.pass
  8. set RSYNC_EXE=%SCRIPT_DIR%cwRsync_5.5.0_x86_Free\bin\rsync.exe
  9. set RSYNC_SERVER=gfg@43.139.184.240::webglpush
  10. set PORT=8873
  11. :: 检查必要文件
  12. if not exist "%WEBGL_DIR%" (
  13. echo Error: webgl folder not found!
  14. pause
  15. exit /b 1
  16. )
  17. if not exist "%PASSWORD_FILE%" (
  18. echo Error: gfg.pass file not found!
  19. pause
  20. exit /b 1
  21. )
  22. if not exist "%RSYNC_EXE%" (
  23. echo Error: rsync.exe not found!
  24. pause
  25. exit /b 1
  26. )
  27. :: 读取密码文件内容
  28. set /p RSYNC_PASSWORD=<"%PASSWORD_FILE%"
  29. set RSYNC_PASSWORD=%RSYNC_PASSWORD: =%
  30. :: 设置环境变量(rsync 会读取 RSYNC_PASSWORD 环境变量)
  31. set RSYNC_PASSWORD=%RSYNC_PASSWORD%
  32. :: 转换Windows路径为Cygwin路径格式
  33. set CYGWIN_WEBGL_DIR=/cygdrive/%WEBGL_DIR:~0,1%/%WEBGL_DIR:~3%
  34. set CYGWIN_PASSWORD_FILE=/cygdrive/%PASSWORD_FILE:~0,1%/%PASSWORD_FILE:~3%
  35. :: 替换反斜杠为正斜杠
  36. set CYGWIN_WEBGL_DIR=%CYGWIN_WEBGL_DIR:\=/%
  37. set CYGWIN_PASSWORD_FILE=%CYGWIN_PASSWORD_FILE:\=/%
  38. :: 执行同步
  39. echo Pushing webgl to server...
  40. echo Using port: %PORT%
  41. echo Using target: %RSYNC_SERVER%
  42. echo Using webgl dir: %CYGWIN_WEBGL_DIR%
  43. echo Using password file: %CYGWIN_PASSWORD_FILE%
  44. "%RSYNC_EXE%" -avzP --port=%PORT% "%CYGWIN_WEBGL_DIR%" "%RSYNC_SERVER%" --password-file="%CYGWIN_PASSWORD_FILE%"
  45. if %errorlevel% equ 0 (
  46. echo Success: Sync completed!
  47. ) else (
  48. echo Error: Sync failed with code %errorlevel%
  49. )
  50. :: 清理环境变量
  51. set RSYNC_PASSWORD=
  52. pause