将本地 Windows 文件夹同步到远程服务器

这个脚本使用 PSCP 和 Plink 工具,PSCP 用于文件传输,Plink 可以用来执行远程命令。确保已安装 PuTTY 工具包中的 PSCP 和 Plink 工具,并将其路径添加到系统的环境变量中。

@echo off

:: 定义本地文件夹和远程服务器信息
set LOCAL_DIR=C:\Workspace\online\
set REMOTE_SERVER=user@1.2.3.4
set REMOTE_DIR=/kelutmp
set PASSWORD=password

:: 检查本地文件夹是否存在
if not exist "%LOCAL_DIR%" (
    echo Local directory does not exist: %LOCAL_DIR%
    exit /b
)

:: 检查本地文件夹是否为空
for /F "delims=" %%F in ('dir /b "%LOCAL_DIR%"') do set NON_EMPTY=1
if not defined NON_EMPTY (
    echo Local directory is empty: %LOCAL_DIR%
    exit /b
)

set FILE_COUNT=0
for /r "%LOCAL_DIR%" %%f in (*) do set /a FILE_COUNT+=1

if "%FILE_COUNT%"=="0" (
    echo Local directory is empty: %LOCAL_DIR%
    exit /b
)

:: 使用 pscp 将本地文件夹中的所有文件同步到远程服务器
pscp -r -pw "%PASSWORD%" "%LOCAL_DIR%*" %REMOTE_SERVER%:%REMOTE_DIR%

:: 如果同步成功,清空本地文件夹
if %errorlevel%==0 (
    echo Sync successful, clearing local directory: %LOCAL_DIR%
    rmdir /s /q "%LOCAL_DIR%"
    mkdir "%LOCAL_DIR%"
) else (
    echo Sync failed, local directory not cleared.
)

将远程服务器文件同步到本地 Windows 从 AppleScript 到 Swift Playground:解决导出日历备注的问题