用Javascript来生成ftp脚本

昨天闲着没事,又因为工作需要,写了一个脚本,用来做ftp。

    当然不是直接做ftp,而是产生一个ftp的脚本,供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");

    }



posted on 2012-02-16 18:23 脉凌网络 阅读(1417) 评论(1)  编辑  收藏

评论

# re: 用Javascript来生成ftp脚本 2012-02-17 09:41 tb  回复  更多评论   

不错的 收藏了

只有注册用户登录后才能发表评论。


网站导航: