用Javascript来生成ftp脚本的小例子

  程序也很简单,就是遍历一下本地目录,然后产生一堆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");

  }