程序也很简单,就是遍历一下本地目录,然后产生一堆ftp命令。
{
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");
}
新闻热点
疑难解答