bat脚本 ftp上传文件夹并递归上传子文件夹中的文件

要使用批处理脚本递归地上传整个文件夹及其子文件夹中的文件到FTP服务器,您可以编写一个循环结构来遍历文件夹中的所有文件,并使用FTP命令逐个上传它们。以下是一个示例脚本:


@echo off
set FTP_SERVER=ftp.example.com
set FTP_USER=your_username
set FTP_PASSWORD=your_password
set FTP_DIR=/path/to/upload/directory
set FTP_LOCAL_DIR=C:\path\to\local\folder

echo Open %FTP_SERVER%> ftpcmd.dat
echo %FTP_USER%>> ftpcmd.dat
echo %FTP_PASSWORD%>> ftpcmd.dat
echo cd %FTP_DIR%>> ftpcmd.dat

for /R "%FTP_LOCAL_DIR%" %%f in (*) do (
set "filename=%%~nf"
echo put "%%f" /local_path/%%filename%%>> ftpcmd.dat
)

echo quit>> ftpcmd.dat

ftp -n -s:ftpcmd.dat
del ftpcmd.dat

请确保将 FTP_SERVERFTP_USERFTP_PASSWORDFTP_DIR 和 FTP_LOCAL_DIR 替换为实际的值。该脚本将创建一个名为 ftpcmd.dat 的文本文件,其中包含用于FTP上传的命令。然后,使用 ftp 命令执行这些命令,并删除 ftpcmd.dat 文件。

该脚本使用 for /R 循环递归地遍历指定本地文件夹中的所有文件。对于每个文件,它将文件的完整路径添加到 ftpcmd.dat 文件中,并使用 put 命令将其上传到FTP服务器。请注意,该脚本会将文件上传到服务器的当前工作目录(由 cd %FTP_DIR% 命令指定)。如果需要将文件上传到特定目录中,请相应地修改 put 命令中的路径。

你可能感兴趣的:(linux,运维,服务器)