以下是一个示例 Windows 脚本,可以将指定目录下的所有文件上传到 SFTP 服务器。您需要替换脚本中的占位符(如 SFTP 服务器的 IP 地址,用户名和密码,以及本地目录路径和远程目录路径)。

@echo off
setlocal

set SFTP_HOST=your_sftp_host
set SFTP_USER=your_sftp_username
set SFTP_PASS=your_sftp_password

set LOCAL_DIR=C:\path\to\local\directory
set REMOTE_DIR=/path/to/remote/directory

if not exist %LOCAL_DIR% (
    echo Local directory %LOCAL_DIR% does not exist.
    exit /b 1
)

echo Uploading files from %LOCAL_DIR% to %SFTP_HOST%:%REMOTE_DIR%

cd /d %LOCAL_DIR%

for %%F in (*) do (
    echo Uploading %%F...
    echo put '%%F' '%REMOTE_DIR%/%%F' | psftp.exe -batch -pw %SFTP_PASS% %SFTP_USER%@%SFTP_HOST%
)

echo Upload complete.

endlocal

说明:

  • setlocal 开始一个本地环境,以便在脚本中定义的变量只在脚本执行期间使用。
  • set 命令用于定义变量。
  • if not exist 命令检查本地目录是否存在。
  • cd /d 命令切换到本地目录。
  • for 命令循环遍历目录中的所有文件。
  • echo 命令输出上传进度和结果。
  • psftp.exe 命令用于连接到 SFTP 服务器并上传文件。 -batch 参数用于禁用交互式输入, -pw 参数用于指定密码, %SFTP_USER%@%SFTP_HOST% 用于指定用户名和 SFTP 服务器的 IP 地址。 put 命令用于上传文件,第一个参数是本地文件路径,第二个参数是远程文件路径。

注意事项:

  • 您需要将 psftp.exe 和相关的库文件放在脚本所在的目录或系统路径中。
  • 您需要安装 OpenSSH 或其他 SFTP 客户端软件,以便使用 psftp.exe 命令。
  • 您需要在 SFTP 服务器上创建目标目录,或者使用脚本中的 mkdir 命令创建。
  • 您需要在 SFTP 服务器上设置正确的文件权限,以便上传和读取文件。
Windows 脚本上传本地目录文件到 SFTP 服务器

原文地址: http://www.cveoy.top/t/topic/lMsO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录