Answers:
命令行FTP非常原始。
您不能将文件/文件夹递归发送到远程站点。
如果要在远程侧重新创建与本地相同的目录结构,则需要手动创建mkdir
每个路径,并使用该路径mput *
将该目录中的所有内容发送到远程侧。
有两种选择可以简化此操作:
停止使用原始FTP命令(ncftp是一个不错的选择)
使用tar压缩文件夹,发送文件并在另一端解压缩。
对于普通的ftp程序,这是不可能的,因为mput不使用递归。您可以使用ncftp,然后调用“ mput -r文件夹”。
最好的祝福,费边
我做了一个bash脚本:
#!/bin/bash
ftp_site=ftp.yoursite.net
username=my_user_name
passwd=my_password
remote=/path/to/remote/folder
folder=$1
cd /path/to/local/folder/$folder
pwd
ftp -in <<EOF
open $ftp_site
user $username $passwd
mkdir $remote/$folder
cd $remote/$folder
mput *
close
bye
并用
find . -type d -exec ./recursive-ftp.sh {} \;
似乎有效。
打开powershell cd到要上传的目录,运行以下命令:
1. gci -r | % {if ($_.PSIsContainer) {$t = $((($_.fullname -split "\\")[$(((pwd) -split "\\").length)..200]) -join "/"); "mkdir ""$t""`r`nmput ""$t/*"" ""$t"""}} | sc .\mput_all
2. notepad .\mput_all
将结果粘贴到ftp窗口中。请享用。同样不要忘记添加mput *来传输基本目录中的所有文件。