批命令从FTP服务器GET由当前日期组合成文件名的文件
2009-07-01 10:35
295 查看
我有一个项目,需要实现每日定时到FTP取动态文件名的文件,文件名是由当前日期加一些固定字符串组成的。文件存在SOLARIS服务器下,定时任务由WINDOWSXP的PC机来执行。
1、创建VBS脚本文件,命名为createftp.vbs
'函数功能:将小于10的数字前加个"0", 例:"7" 改为"07"
Function StrConvert(str)
If CInt(str) < 10 Then
StrConvert = "0" & str
else
StrConvert = str
End If
End Function
'待获取文件的路径
DATAPATH ="ftp_server_path"
'获取当天日期
today = Date()
yesterday= DateAdd("d", -1, today)
my_year=year(yesterday)
my_mm=month(yesterday)
my_dd=day(yesterday)
my_month=StrConvert(my_mm)
my_day=StrConvert(my_dd)
'格式化日期
my_time=my_year & my_month & my_day
'获取文件名
filename= my_time & "_sum_start.txt"
'在指定路径生成my_ftp.txt文件,在此可修改相应的路径及文件名
'按实际情况修改以下部分,即修改 my_ftp.txt的内容
Dim fso1, tf
Set fso1 = CreateObject("Scripting.FileSystemObject")
Set tf = fso1.CreateTextFile("localpc_ftp_filename", True)
tf.WriteLine("lcd localpc_path")
tf.WriteLine("open ftp_server_ip ftp_server_port")
tf.WriteLine("ftp_server_username")
tf.WriteLine("ftp_server_password")
tf.WriteLine("cd " &DATAPATH )
tf.WriteLine("get " & filename & " new_filename")
tf.WriteLine("disconnect")
tf.WriteLine("bye")
tf.Close
2、创建BAT批处理文件,命名为input.bat
@echo off
rem #creatftp.vbs 脚本功能:自动生成文件my_ftp.txt
creatftp.vbs
ftp -i -s:localpc_ftp_filename
3、通过批处理获取系统时间的另一方法:
%date:~0,4% 获取年份
%date:~5,2% 获取月份
%date:~8,2% 获取日期
%date:~10,6% 获取星期几
%time:~0,2% 获取小时
%time:~3,2% 获取分钟
在批处理文件中,可以使用set命令写文件名,如上例中:
set ftp_server_filename=%date:~0,4%%date:~5,2%%date:~8,2%_sum_start.txt
不过这里的数值小于10不会自动加0。
1、创建VBS脚本文件,命名为createftp.vbs
'函数功能:将小于10的数字前加个"0", 例:"7" 改为"07"
Function StrConvert(str)
If CInt(str) < 10 Then
StrConvert = "0" & str
else
StrConvert = str
End If
End Function
'待获取文件的路径
DATAPATH ="ftp_server_path"
'获取当天日期
today = Date()
yesterday= DateAdd("d", -1, today)
my_year=year(yesterday)
my_mm=month(yesterday)
my_dd=day(yesterday)
my_month=StrConvert(my_mm)
my_day=StrConvert(my_dd)
'格式化日期
my_time=my_year & my_month & my_day
'获取文件名
filename= my_time & "_sum_start.txt"
'在指定路径生成my_ftp.txt文件,在此可修改相应的路径及文件名
'按实际情况修改以下部分,即修改 my_ftp.txt的内容
Dim fso1, tf
Set fso1 = CreateObject("Scripting.FileSystemObject")
Set tf = fso1.CreateTextFile("localpc_ftp_filename", True)
tf.WriteLine("lcd localpc_path")
tf.WriteLine("open ftp_server_ip ftp_server_port")
tf.WriteLine("ftp_server_username")
tf.WriteLine("ftp_server_password")
tf.WriteLine("cd " &DATAPATH )
tf.WriteLine("get " & filename & " new_filename")
tf.WriteLine("disconnect")
tf.WriteLine("bye")
tf.Close
2、创建BAT批处理文件,命名为input.bat
@echo off
rem #creatftp.vbs 脚本功能:自动生成文件my_ftp.txt
creatftp.vbs
ftp -i -s:localpc_ftp_filename
3、通过批处理获取系统时间的另一方法:
%date:~0,4% 获取年份
%date:~5,2% 获取月份
%date:~8,2% 获取日期
%date:~10,6% 获取星期几
%time:~0,2% 获取小时
%time:~3,2% 获取分钟
在批处理文件中,可以使用set命令写文件名,如上例中:
set ftp_server_filename=%date:~0,4%%date:~5,2%%date:~8,2%_sum_start.txt
不过这里的数值小于10不会自动加0。
相关文章推荐
- 从FTP服务器返回来的TelnetInputStream流中读取文件的文件名,文件大小,文件日期
- DOS命令创建以日期为文件名的任务计划TXT文件
- sftp和ftp 根据配置远程服务器地址下载文件到当前服务
- linux下用ftp命令连接到ftp服务器应该如何查看服务器上的目录文件数
- ftpget 和ftpput命令 tftp 上传下载文件
- C#FTP下载文件出现远程服务器返回错误: (500) 语法错误,无法识别命令
- wget lftp 命令下载ftp服务器的文件
- Linux ftp 命令行中下载文件get与上传文件put的命令应用详解
- C# FTP,GetResponse(),远程服务器返回错误:(550) 文件不可用(例如,未找到文件,无法访问文件)
- Linux_ftp_命令行下下载文件get与上传文件put的命令应用
- dos命令复制当天生成的以日期为文件名的文件
- 以命令方式从FTP 服务器下载文件到本地指定目录
- dos命令复制当天生成的以日期为文件名的文件
- C# FTP,GetResponse(),远程服务器返回错误:(550) 文件不可用(例如,未找到文件,无法访问文件)
- Linux_ftp_命令行下下载文件get与上传文件put的命令应用
- C# FTP,GetResponse(),远程服务器返回错误:(550) 文件不可用(例如,未找到文件,无法访问文件)
- Windows 服务器使用FTP出现“当前的安全设置不允许从该位置下载文件" 警告
- FTP服务器上的文件下载及下载文件为什么会包含当前页面的HTML代码
- dos命令复制当天生成的以日期为文件名的文件
- ftp命令从服务器上下载文件