定時ftp指令碼

mageqi發表於2010-05-18


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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章