Posted in Javascript onJuly 03, 2013
程序也很简单,就是遍历一下本地目录,然后产生一堆ftp命令。
function matchDemo(strFolderName) { var s; var re = /200\d{5}/ig; s = strFolderName.match(re); return(s); } function init() { strScript ="open 192.168.1.32 \n"; strScript+="user sybase 111111 \n"; strScript+="bin\n"; strScript+="prompt\n"; strScript+="cd /hisdata/olddata \n"; dicWhiteList = new ActiveXObject("Scripting.Dictionary"); dicWhiteList.add ("20051205_pihou", ""); dicWhiteList.add ("20051206_pihou", ""); dicWhiteList.add ("20060701_pihou", ""); } function EnumSubFolder(oSubFolder) { var eFolders=new Enumerator(oSubFolder.SubFolders); var s=""; if(eFolders.atEnd()) { return s; } else { for (; !eFolders.atEnd(); eFolders.moveNext()) { s+="lcd \""; s+=eFolders.item(); s+="\"\n"; s+="mput *.*\n"; } return s; } } function checkList(strToBeChecked) { return !dicWhiteList.Exists(strToBeChecked); } var strScript,dicWhitList; var sFolderPath="e:\\"; var oFs=new ActiveXObject("Scripting.FileSystemObject"); init(); if (oFs.FolderExists(sFolderPath)) { //WScript.Echo("valid folder"); var oFolders=oFs.GetFolder(sFolderPath); var eFolders=new Enumerator(oFolders.SubFolders); if(eFolders.atEnd()) { strScript += "mkdir \""; strScript += oFs.GetBaseName(sFolderPath); strScript += "\"\n"; } else { for (; !eFolders.atEnd(); eFolders.moveNext()) { strTargetFolderName=matchDemo(eFolders.item()+""); if(strTargetFolderName==null || checkList(oFs.GetBaseName(eFolders.item()))) continue; strTmpFolderName="\""+oFs.GetBaseName(eFolders.item())+"\""; strScript += "mkdir " strScript += strTargetFolderName; strScript += "\n"; strScript += "cd "; strScript += strTargetFolderName; strScript += "\n"; strScript += EnumSubFolder(eFolders.item()); strScript += "lcd " strScript += eFolders.item(); strScript += "\n"; strScript += "mput *.*\n"; strScript += "cd \nlcd \n"; } } strScript+="bye\n"; WScript.Echo(strScript); } else { WScript.Echo("Bad Folder Name"); }
用Javascript来生成ftp脚本的小例子
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@