[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 在ftp服务器上下载昨天的指定文件.

跟据其它的代码写了一个bat,是取当天日期的文件,可是不知道为什么,一运行就取09.6.25日文件.
我想写一个"在ftp服务器上下载昨天日期为名称的文件 例20090627.rar,我查了一下资料,也没写出来.请高手帮助一下.


echo off
@set today=%date:~0,10%
@set today=%today:-=%
@set FtpFile=%temp%\TempAcc.txt
>>"%FtpFile%" echo ftp1
>>"%FtpFile%" echo ftp2007a
>>"%FtpFile%" echo bin
>>"%FtpFile%" echo cd a\b\c
>>"%FtpFile%" echo mget %today%.rar
>>"%FtpFile%" echo bye
start ftp -v -i -s:"%FtpFile%" 10.200.1.21

md E:\testrar\%today%\

[ 本帖最后由 hello10086 于 2009-6-29 13:40 编辑 ]

那位兄弟,帮我一下,提供此信息呀!

TOP

回复 2楼 的帖子

你自己写的代码是取当天的文件,要想取前一天的文件,只要要把当天的数值取出来,把年月日中的日减去一天,不就是前一天的了吗,也就是说,你只要把的你代码中的%today%再稍作改变一下。
注意,一个月的月初时,就是1号时,要判断上个月是30天还是31天。
(*^_^*)

TOP

批处理获取指定天数之前的日期
http://bbs.bathome.net/thread-3330-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

非常感谢,解决了,谢谢两位高手。

TOP

为什么我一改日期,比如我将我的系统日期改为20090626,那应该取的是20090625的文件,可是还是取的20090629的文件.真晕呀(当天是20090630)

echo off

@set FtpFile=%temp%\TempAcc.txt
::需要调用VBS
rem 指定天数
set DaysAgo=1
>"%temp%\MyDate.vbs" echo LastDate=date()-%DaysAgo%
>>"%temp%\MyDate.vbs" echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)
>>"%temp%\MyDate.vbs" echo wscript.echo FmtDate
for /f %%a in ('cscript /nologo "%temp%\MyDate.vbs"') do (
  set DstDate=%%a
)
set DstDate=%DstDate:~0,4%%DstDate:~4,2%%DstDate:~6,2%
echo %DaysAgo%天之前的日期是:%DstDate%
@pause

>>"%FtpFile%" echo user
>>"%FtpFile%" echo passwd
>>"%FtpFile%" echo bin
>>"%FtpFile%" echo cd aa\bb\cc
>>"%FtpFile%" echo mget %DstDate%.rar
>>"%FtpFile%" echo bye
start ftp -v -i -s:"%FtpFile%" 10.200.1.21

TOP

回复 6楼 的帖子

那你打开%temp%\TempAcc.txt文件,看看。
(*^_^*)

TOP

返回列表