Windows 脚本上传本地目录文件到 SFTP 服务器
以下是一个示例 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 服务器上设置正确的文件权限,以便上传和读取文件。
原文地址: http://www.cveoy.top/t/topic/lMsO 著作权归作者所有。请勿转载和采集!