后台字典文件管理器

On Error Resume next

set fso=CreateObject ("Scripting.FileSystemObject")
Set objConnection = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")


action=lcase(trim(Wscript.Arguments(0)))

select case action
case "mdb"
   mdb
case "insert"
   insert(Wscript.Arguments(1))
case "into"
   into
case else
   usage
end Select

function mdb()
if fso.FileExists(WScript.ScriptFullName&".mdb") Then
wscript.echo "数据库已存在,请检查"
wscript.quit
End if
set objcat= createobject("ADOX.Catalog")
objcat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&WScript.ScriptFullName&".mdb"
Set objtbl=createobject("ADOX.Table")      
objtbl.Name ="MyTable"  
objtbl.Columns.Append   "name",   202   ,50   'adVarWChar  
objcat.Tables.Append   objtbl
Set objcat=Nothing
Set objtbl=Nothing
wscript.echo "数据库建立成功,干得不错"
End function


Function insert(dic)
if fso.FileExists(WScript.ScriptFullName&".mdb") then
objConnection.Open _
     "Provider = Microsoft.Jet.OLEDB.4.0; " & _
         "Data Source = "&WScript.ScriptFullName&".mdb"

objRecordSet.Open "Select * FROM MyTable" , _
     objConnection, 3, 3


   If InstrRev(dic,":\",-1,1)=0 And InstrRev(dic,":/",-1,1)=0 Then
objRecordSet.AddNew
objRecordSet("Name") = dic
objRecordSet.Update
   Else
set zidian=fso.OpenTextFile(dic,1,False)
Do While zidian.AtEndOfStream <> true
path=zidian.readline
objRecordSet.AddNew
objRecordSet("Name") = path
objRecordSet.Update
      loop
   End If


wscript.echo "写入完毕"
else
WScript.Echo "数据库不存在,先做cscript "& WScript.ScriptName&" mdb建立数据库"
wscript.quit
end if

End Function



Function into()
set f = fso.OpenTextFile(WScript.ScriptFullName&".dic",2,True,0)

objConnection.Open _
     "Provider = Microsoft.Jet.OLEDB.4.0; " & _
         "Data Source = "&WScript.ScriptFullName&".mdb"
objRecordSet.Open "Select DISTINCT * FROM MyTable" , _
     objConnection, 1, 1
Do While Not objRecordSet.EOF
wscript.echo objRecordSet("name")
f.WriteLine objRecordSet("name")

objRecordSet.movenext
Loop

wscript.echo "导出文件"&Chr(34)&WScript.ScriptFullName&".dic"&Chr(34)&",请检查"
End Function

function usage()

wscript.echo "命令示例:code by lcx"&Chr(13)
wscript.echo "cscript "& WScript.ScriptName&" mdb                   '->这是第一步必要做的,在同目录下建立同名数据库"&Chr(13)
wscript.echo "cscript "& WScript.ScriptName&" insert admin          '->收集admin目录名写入数据库,admin可以换其它收集的后台名"&Chr(13)
wscript.echo "cscript "& WScript.ScriptName&" insert c:\1.txt       '->原有后台记录文件导入数据库,c:\1.txt可以换其它路径名"&Chr(13)
wscript.echo "cscript "& WScript.ScriptName&" into                  '->把字典同名导出同目录,去除了重复收集的后台目录名"&Chr(13)
wscript.quit
end function

objRecordSet.Close
objConnection.Close
Set fso=Nothing



文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.