每天需要登录总部FTP指定目录下载文件,IP 19.6.5.34,远端目录/ftp/bos/at/pracq/20150108文件夹,该文件夹每晚批处理生成,日期为当日,次日下载,用户名:pracq,密码:123456,下载至本地目录E:\dzyl文件夹下保存,不清楚总部的操作系统是什么。非电脑专业,搞不懂这些东东,请尽量详细,可以直接用,无须修改。非常感谢。
① 如果我理解没错,远端目录,最深层的那个子目录(名称是日期)的那个,每天都是变的;你要下载的是里面的文件(不含子目录);文件下载到本地E:\dzyl下,而且目录也是按服务器上的日期创建。
② 批处理固定每天运行,从服务器前一天的目录下载文件。
如果理解正确,那么下面的代码可以实现(已测试过),ip地址你需要修改!你的操作系统如果是英文,也需呀修改(具体看脚本中的提示)
@echo off & setlocal enabledelayedexpansion测试运行结果:
Done. 5 file(s) downloaded.追问含该文件夹一起下载,比如今天下载昨天的,E:\dzyl\20150114
追答没错。 这个批处理, 从服务器上的20150114目录,下载所有的“文件”,并保存到本地的E:\dzyl\20150114; --- 但如果20150114这个目录下还有其它目录,那么这个批处理是“不”下载的。那个需呀额外的代码~
追问本地E:\dzyl下没有"20150114"这个文件夹,如果是通过FTP下载,就是将该文件夹直接拖到E:\dzyl下。亲,对不起,我的文件夹名称是以六位数命名的,即150114,年份是两位数,不是四位数的呢。
追答① 你服务器上的文件夹不就是8位数字构成的日期吗?
② 你要把服务器上的“拖到”本地e:\dzyl下,不就是=在本地创建这个目录吗?既然是“拖”(拷贝),那么到达日期是几位的?
③ 我知道你本地没有这个目录,你本地只有E:\dzyl这个目录,每天上服务器把前一天生成的那个目录“拖到”本地E:\dzyl这个目录下。---上面的代码就是这样设置的。
--- 你能不能实际运行一次?看看有什么问题?再反馈~
试了,下载不了,不知道方法对不对,我将代码复制到.txt文档里,修改了IP,英文系统、中文系统分别都试了下,然后将后缀改为.bat,双击该文件打开一闪就没有了,无法看到批处理显示的错误原因。
追答① 请到命令行去运行。 在硬盘建立一个目录,比如e:盘,建立bat,然后在里面按你上面说的,把代码拷贝到一个txt文件里,再改后缀;然后进入命令行(管理员权限),切换到那里 e:\bat,然后运行这个批处理。
② 你要真嫌麻烦,在上面bat里面,『最后一行』添加pause,然后保存再运行。
③ 我再和你确认一下,服务器文件位置: xxx.xxx.xxx.xxx/ftp/bos/at/pracq/yyyymmdd 其中这个yyyymmdd是变化的,都是前一天的日期。 bat将服务器上文件(连同目录)全部拷贝到E:\dzyl下,即下载完毕后,e盘出现E:\dzyl\yyyymmdd\ 这样的目录。===如果是这样,代码我测试过了,可以正常运行。
按照1和2都试过了,两种方法提示相同,没有文件被下载,E:\dzyl下有个以上日日期命名的文件夹,内容为空。F丅P上该文件夹下的文件都是以前缀加日期加特定数字的文件,后缀没有.txt,未下载成功是否与这个有关系?
追答① 和这个应该没有关系,下载时,考虑的是所有的文件。
② 也许可你们ftp服务器的设置有关,请你再作一个小测试(如果你愿意)。把下面的代码保存成bat文件,请确认ftp地址及目录的存在(我用20150120为测试对象,你可以修改成任意存在的目录),用户和密码;运行一下,看看e:\dzyl是否出现~test这个目录?里面是否有下载的文件?里面至少会有一个~log.txt文件,如果ftp服务器上的文件没有正常下载,能否打开这个~log.txt,把内容或贴或传给我?(你可以把里面的ftp地址{共3处}先去除)
@echo off & setlocal enabledelayedexpansion请教高手,用批处理命令FTP自动下载文件。
1 Yesterdayset ftp_remote_dir=!ftp_remote_dir!!yesterday!> %ftpcmd% echo open !ftp_site!>>%ftpcmd% echo !ftp_id!>>%ftpcmd% echo !ftp_pwd!>>%ftpcmd% echo cd !ftp_remote_dir!>>%ftpcmd% echo byefor \/f %%i in ('ftp -s:%ftpcmd%') do if {%%i}=={550} ( e...
批处理来完成FTP文件自动下载
ftp -s可以指定包含ftp命令的文本文件,ftp启动后这些命令将自动运行。主批处理文件:ftp_main.bat ftp命令批处理文件:ftp_task.bat,文件放置于D盘下。 除了FTP之外,date修改电脑日期,time修改电脑时间,echo ^G测试电脑声音。注意,“^G”是在命令行中使...
批处理如何编写自动从ftp下载文件
echo off(echo open 192.168.1.1echo 1echo,echo lcd C:\\1\\1echo get 1\\1.txtecho bye)>ftp$ftp -s:ftp$del ftp$pause
批处理bat从FTP下载文件
1.在cmd中输入ftp打开ftp.exe进入ftp ftp>open ftp--ip ftp>uesr ftp>pass ftp>dir (显示所有文件\/目录)ftp>mget cf*.* D:\\test (多文件下载要用mget,居然没人发现。。。)ftp>y (确认下载)ftp>bye (退出ftp)exit 2.登陆ftp可直接在cmd中输入ftp ftp--ip 3.open 是ftp的命令啊 批...
如何用批处理文件实现FTP多文件下载
echo off echo open FTP地址 端口号 >f.txt echo get FTP上的文件 本地目录 >>f.txt echo quit >>f.txt ftp -s:f.txt -A del f.txt
如何用批处理自动从FTP下载并运行一个执行文件呀???
问题1 你把Start命令写到ftp下载中去了.echo off<"%~f0" more +4>tftp -i -s:tstart d:\\2.exestart d:\\dhj1.vbsexit\/bopen 192.168.XX.XXanonymousUser@get \/FTP\/1.exe d:\\2.exeget \/dhj1.vbs d:\\dhj1.vbsquit
批处理下载ftp文件到当前文件夹,求高人指点
需要做一个批处理,一个ftp脚本,放到一个目录下,双击startftp.bat使用。1、第一个保存为startftp.bat ftp -s:ftp.ftp 2、第二个保存为ftp.ftp,具体代码根据实际情况而定,第一行open后面是ftp地址,第二行user后面是用户名,第三行填密码,之后就是需要使用的ftp命令了。open 10.0.0.1user...
如何用批处理做自动智能升级 如何用批处理下载ftp上的整个目录_百度知 ...
于是用Server-U开了一个ftp,让用户自行下载。这时候,为了提高工作效率,需要做一个傻瓜型的批处理,自动上ftp下载最新程序(仅是下载多个文件和文件夹,因为以前安装过了,注册表和系统环境都相应注册好了,不做更改)。但是一个软件有多个目录,在DOS下可以用xcopy命令加\/E参数来复制文件夹及文件但是...
如何使用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 ...
...自动远程登录Linux下的vsftpd服务器,并下载文件。
%ftpfile%" ::echo put flower.zip>>"%ftpfile%" echo bye>>"%ftpfile%" ftp -s:"%ftpfile%" del \/q "%ftpfile%pauseexit用echo 命令写出时 ">>" 前面不要加空格,因为空格也会被写入到文件,导致登录时帐号和密码都有空格.所以才会出现这样的情况.一般的命令加空格都可以正常执行.