导航:首页 > 版本升级 > 自动获取ftp上的文件

自动获取ftp上的文件

发布时间:2024-03-30 13:24:56

linux自动FTP接收文件的问题

先确定这个自动接收文件的脚本是在windows上还是在linux上。
如果是windows上,按理说应该不用改,如果是linux上,那就查看一下crontab 里边是否有
自动执行的脚本,或者直接问以前布置这个脚本的人。需要改什么东西。

⑵ windowsftp如何获取文件夹下所有的文件

可以通过命令窗口来打开所有的文件。具体步骤如下:
点击win+R后输入cmd打开dos命令窗口。
打开需获取文件名的位置。
获取名称,命令格式:dir/b文件目标盘符文件夹位置(可省略)目标名称.目标后缀。
获取文件大小及文件名、修改时间(文件大小需处理)。
Microsoft Surface是一个由微软所开发的第一款平面电脑,结合硬件与软件的新技术,用家可以直接用手或声音对屏幕作出指令,触摸和其他外在物理物来和电脑进行交互,毋须再依赖会令手部劳损的鼠标与键盘。

⑶ 请教高手,用批处理命令FTP自动下载文件。

① 如果我理解没错,远端目录,最深层的那个子目录(名称是日期)的那个,每天都是变的;你要下载的是里面的文件(不含子目录);文件下载到本地E:dzyl下,而且目录也是按服务器上的日期创建。

② 批处理固定每天运行,从服务器前一天的目录下载文件。


如果理解正确,那么下面的代码可以实现(已测试过),ip地址你需要修改!你的操作系统如果是英文,也需呀修改(具体看脚本中的提示)

@echooff&
set"ftp_site=19.6.5.34"
set"ftp_id=pracq"
set"ftp_pwd=123456"
set"ftp_remote_dir=/ftp/bos/at/pracq/"
set"ftp_local_dir=E:dzyl"
:100
set"ftpcmd={{%random%}}.ftp"
ifexist%ftpcmd%goto100

::英文系统用下面这个,把下面一行中的::去除
::set"today=%date:~6,4%%date:~0,2%%date:~3,2%"
::中文系统用下面这个,如果是英文,在下面一行句首添加::
set"today=%date:~0,4%%date:~5,2%%date:~8,2%"

settoday=!today:~0,4!-!today:~4,2!-!today:~-2!
call:Date2Day!today!1Yesterday
setftp_remote_dir=!ftp_remote_dir!!yesterday!
>%ftpcmd%echoopen!ftp_site!
>>%ftpcmd%echo!ftp_id!
>>%ftpcmd%echo!ftp_pwd!
>>%ftpcmd%echocd!ftp_remote_dir!
>>%ftpcmd%echobye
for/f%%iin('ftp-s:%ftpcmd%')doif{%%i}=={550}(
!
gotoend
)
setftp_local_dir=!ftp_local_dir!!yesterday!
md!ftp_local_dir!1>nul2>&1
ifnotexist!ftp_local_dir!(
!
gotoend
)

>%ftpcmd%echoopen!ftp_site!
>>%ftpcmd%echo!ftp_id!
>>%ftpcmd%echo!ftp_pwd!
>>%ftpcmd%echocd!ftp_remote_dir!
>>%ftpcmd%echolcd!ftp_local_dir!
>>%ftpcmd%echobinary
>>%ftpcmd%echopromptn
>>%ftpcmd%echomget*.*
>>%ftpcmd%echobye
set/acount=0
for/f%%iin('ftp-s:%ftpcmd%')do(
if{%%i}=={226}set/acount=!count%+1
)
if!count!gtr0(
echoDone.!count!file^(s^)downloaded.
)else(
echoNofilehasbeendownloaded.
)
gotoend

:Date2Day
::call:Date2Day2007-11-122Day
@echooff&setlocal
for/f"tokens=1-3delims=/-:,"%%ain('echo/%~1')do(
set/ayy=%%a,mm=100%%b%%100,dd=100%%c%%100
)
set/az=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set/aj=j/5+dd+y*365+y/4-y/100+y/400-2472633
set/ai=j-%~2,a=i+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
set/ad=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5
set/add=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
(if%mm%LSS10setmm=0%mm%)&(if%dd%LSS10setdd=0%dd%)
endlocal&set%~3=%yy%%f%%mm%%f%%dd%&
goto:eof

:end
ifexist%ftpcmd%(typenul>%ftpcmd%&&del/f/q%ftpcmd%1>nul2>&1)
endlocal&@echoon

测试运行结果:

Done.5file(s)downloaded.

⑷ 如何使用bat命令直接下载指定ftp上面的指定文件

ftp下载文件一般步骤如下:
echo open xxx.xxx.xxx.xxx >ftp.txt
echo user >>ftp.txt
echo password >>ftp.txt
echo binary >>ftp.txt [可选]
echo get srv.exe >>ftp.txt
echo bye >>ftp.txt
ftp -s:ftp.txt(这一步是关键哟)
del ftp.txt
存为*.bat

⑸ VB 如何获取FTP上的文件

要用到inet控件。public strData as string
'这段可以返回服务器中的第一级目录名,保存在strData中, 如有多个文件夹名每个文件夹名会以空格分开。读取时判段一下。
Inet1.Execute Inet1.URL, "dir """ & dirName & """"
Do
DoEvents
Loop While Inet1.StillExecuting = True
msgbox strData
'这段是进入目录中,要想获得服务器中所有的文件夹名,就可以用递规的办法来获得。
Inet1.Execute Inet1.URL, "cd """ & dirName & """"
Do
DoEvents
Loop While Inet1.StillExecuting = True
Private Sub Inet1_StateChanged(ByVal State As Integer)
Select Case State
Case 1

StatusBar1.Panels.Item(1).Text = "该控件正在查询所指定的主机的 IP 地址"

Case 2

StatusBar1.Panels.Item(1).Text = "该控件已成功地找到所指定的主机的 IP 地址"

Case 3

StatusBar1.Panels.Item(1).Text = "该控件正在与主机连接"

Case 4

StatusBar1.Panels.Item(1).Text = "该控件已与主机连接成功"

Case 5

StatusBar1.Panels.Item(1).Text = "该控件正在向主机发送请求"

Case 6

StatusBar1.Panels.Item(1).Text = "该控件发送请求已成功"

Case 7

StatusBar1.Panels.Item(1).Text = "该控件正在接收主机的响应"

Case 8

StatusBar1.Panels.Item(1).Text = "该控件已成功地接收到主机的响应"

Case 9

StatusBar1.Panels.Item(1).Text = "该控件正在解除与主机的连接"

Case 10

StatusBar1.Panels.Item(1).Text = "该控件已成功地与主机解除了连接"

Case 11
MsgBox "与主机通讯时出现了错误", vbInformation, "个人资料"
Case 12
Dim vtData As Variant
Dim bDone As Boolean
bDone = False
'取得第一个块。
vtData = Inet1.GetChunk(1024, icString)
DoEvents
Do While Not bDone
strData = strData & vtData
'取得下一个块。
vtData = Inet1.GetChunk(1024, icString)
DoEvents
If Len(vtData) = 0 Then
bDone = True
End If
Loop
StatusBar1.Panels.Item(1).Text = "该请求已经完成,并且所有数据均已接收到"
Case Else
StatusBar1.Panels.Item(1).Text = Inet1.ResponseCode & ": " & Inet1.ResponseInfo
End Select
End Sub
关于inet控件的祥细用法可以看msdn中的帮助。

阅读全文

与自动获取ftp上的文件相关的资料

热点内容
欧洲童装网站有哪些 浏览:783
win10默认头像下载 浏览:216
dnf2017代码大全 浏览:219
编程项目经理证书怎么考 浏览:570
律师咨询什么app 浏览:863
ps导入ai什么格式文件 浏览:255
手机升级系统的利弊 浏览:411
如何判断两列是否相同的数据 浏览:25
安卓系统微信文件夹 浏览:19
xp打开word找不到文件 浏览:488
文件名占容量 浏览:882
环型槽如何编程 浏览:290
excel怎么分列每一列的第二行数据 浏览:240
美味餐厅13安卓版完整 浏览:708
请先卸载本地app什么意思 浏览:639
广东有什么土建材料网站 浏览:613
安卓手机究竟应该给app什么权限 浏览:137
怎样给特定文件夹加密码 浏览:168
win10卡在85 浏览:421
excel文件怎么无法打开 浏览:970

友情链接