程序也很简单,就是遍历一下本地目录,然后产生一堆ftp命令。
复制代码 代码如下:
function matchDemo(strFolderName)
{
var s;
var re = /200d{5}/ig;
s = strFolderName.match(re);
return(s);
}
function init()
{
strscript ="open 192.168.1.32 n";
strscript+="user sybase 111111 n";
strscript+="binn";
strscript+="promptn";
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+="byen";
Wscript.Echo(strscript);
}
else
{
Wscript.Echo("Bad Folder Name");
}



