linux – 创建目录或跳过ftp脚本

我正在使用Adrive.com帐户上传备份文件.我不知道安装的
linux版本.我尝试使用这些命令获取版本:

ftp> uname -r
Invalid command.
ftp> cat /etc/*-release
Invalid command.
ftp> lsb_release -a
Invalid command.
ftp> cat /proc/version
Invalid command.
ftp> uname -a
Invalid command.

你可以看到它们都没有用.

这是我正在尝试运行的脚本:

ECHO open ftp://xxx:xxxx@ftp.adrive.com>FTPSND.TXT
echo cd backup>>FTPSND.TXT
echo cd companyfiles>>FTPSND.TXT
echo mkdir %3>>FTPSND.TXT
echo cd %3>>FTPSND.TXT
echo option transfer binary>>FTPSND.TXT
ECHO send %1>>FTPSND.TXT
ECHO close>>FTPSND.TXT
ECHO exit>>FTPSND.TXT
winscp.com /script=ftpsnd.txt >>%2

以及mkdir上发生的错误:

Error creating folder 'BEL'.
File or directory already exists.
(A)bort, (R)etry, (S)kip: Abort

我的主要问题是,如果目录不存在,我需要创建它,否则我跳过该步骤继续发送.

我是如何解决这个问题的?

编辑

回应Hackoo:

我没有提到这个批处理文件是从靠近末尾的另一个批处理文件调用的.当我使用你的代码时,我没有上传文件,日志显示:

ftp> Open ftp.adrive.com
Connected to ftp.adrive.com.
220 Username is your email address used for web interface
User (ftp.adrive.com:(none)):
331 Username OK, please send password.

230 Welcome xxxxx
ftp> prompt n
Interactive mode Off .
ftp> bin
200 TYPE changed to I.
ftp> MkDir /backup/companyfiles/IFC
550 File or directory already exists.
ftp> cd /backup/companyfiles/IFC
250 Changed directory OK.
ftp> mput D:\SSSAVES\sssbackup\TMPDIR\IFC_20160705141154.ZIP
200 PORT command OK.
150 Opening BINARY mode data connection for file IFC_20160705141154.ZIP.

它不是从这一点开始做任何事情.我让它坐在那里2个小时,以确保.该文件的大小只有70mb,所以我怀疑它会花那么长时间.

编辑#2

该文件最终出现在Adrive上,所以我相信ftp mput正在运行.它发送后似乎没有释放

编辑#3

我确实将它从mput改为put,因为我只发送了1个文件.这并没有什么不同.

最佳答案 我在ADrive.com上创建了一个帐户,我创建了这个脚本,只是试一试

@echo off
Title Multiple file Upload by Hackoo on adrive
Color 0A
::****** Settings for FTP ************
Set FTPSERVER=ftp.adrive.com
Set USER=Your Login
Set Password=Your Password
Set LocalFolder=C:\Hackoo
Set RemoteFolder=/backupFolder
::************************************
::--- FTP commands below here ---
> ft.do echo Open %FTPSERVER%
>> ft.do echo %USER%
>> ft.do echo %Password%
>> ft.do echo prompt n
>> ft.do echo bin
>> ft.do echo lcd %LocalFolder%
>> ft.do echo MkDir %RemoteFolder%
>> ft.do echo cd %RemoteFolder%
>> ft.do echo mput "*.*"
>> ft.do echo disconnect
>> ft.do echo bye
::************************************
ftp -s:ft.do
del ft.do
Pause
点赞