1 。首先ftp 应用下 有许多命令 ,可以把这些要执行的命令,存放在一个文件里。
2 。然后 通过 ftp -s:w文件名 命令方式 ,来执行所要的ftp命令 。
就像利用sqlpus 文件名 一样,来通过,sqlplus 命令来执行所要的sql任务。
3. 为了在执行命令的过程中,不出现交互,则需要加上参数 -i
4. 如果执行的命令中 出现动态的命令和参数,不如和时间有关系,则用js 动态生成文件。
然后 通 csription .js 的命令来执行脚本语言
5. 为了记录命令执行的情况,则可以通过>> dos输出命令 ,将结果输出到一个log文件。
6. 这样就可以完美的执行任务了。
[@more@]生成ftp命令文件的脚本:
//提示输入文件路径
WScript.echo(".........开始处理.........")
//源目录
var ftpFile = "E:testautogetfiles.txt";
//获取源目录中所有文件
var fso = new ActiveXObject("Scripting.FileSystemObject");
ProcessFile(ftpFile)
WScript.echo(".........处理结束.........");
function ProcessFile(File)
{
var gdCurDate = new Date();
var giYear = gdCurDate.getFullYear();
var giMonth = gdCurDate.getMonth()+1;
var giDay = gdCurDate.getDate();
if (giDay ==1)
{
var giMonth1=giMonth
giMonth =giMonth -1
}
if (giMonth <10 )
{
giMonth ="0"+String(giMonth)
}
var getFilenames=String(giYear)+String(giMonth);
//var getFilenames1=gdCurDate.toLocaleDateString();
var ws = fso.CreateTextFile(File);
ws.WriteLine("open ftpservername 21");
ws.WriteLine("username");
ws.WriteLine("Pwd
ws.WriteLine("lcd /");
ws.WriteLine("lcd T:/test");
ws.WriteLine("cd ../test");
ws.WriteLine("mget *"+getFilenames+"*.csv");
if (giDay ==1)
{
if (giMonth1 <10 )
{
giMonth1 ="0"+String(giMonth1)
}
var getFilenames1=String(giYear)+String(giMonth1);
ws.WriteLine("mget *"+getFilenames1+"*.csv");
}
ws.WriteLine("bye ");
ws.close();
}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/523892/viewspace-1033689/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/523892/viewspace-1033689/