要使用批处理脚本递归地上传整个文件夹及其子文件夹中的文件到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\folderecho Open %FTP_SERVER%> ftpcmd.dat
echo %FTP_USER%>> ftpcmd.dat
echo %FTP_PASSWORD%>> ftpcmd.dat
echo cd %FTP_DIR%>> ftpcmd.datfor /R "%FTP_LOCAL_DIR%" %%f in (*) do (
set "filename=%%~nf"
echo put "%%f" /local_path/%%filename%%>> ftpcmd.dat
)echo quit>> ftpcmd.datftp -n -s:ftpcmd.dat
del ftpcmd.dat
请确保将 FTP_SERVER
、FTP_USER
、FTP_PASSWORD
、FTP_DIR
和 FTP_LOCAL_DIR
替换为实际的值。该脚本将创建一个名为 ftpcmd.dat
的文本文件,其中包含用于FTP上传的命令。然后,使用 ftp
命令执行这些命令,并删除 ftpcmd.dat
文件。
该脚本使用 for /R
循环递归地遍历指定本地文件夹中的所有文件。对于每个文件,它将文件的完整路径添加到 ftpcmd.dat
文件中,并使用 put
命令将其上传到FTP服务器。请注意,该脚本会将文件上传到服务器的当前工作目录(由 cd %FTP_DIR%
命令指定)。如果需要将文件上传到特定目录中,请相应地修改 put
命令中的路径。