中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [推荐]文本代码管理工具(笨狼代码大管家)
作者:
标题: [推荐]文本代码管理工具(笨狼代码大管家) 上一主题 | 下一主题
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『楼 主』:  [推荐]文本代码管理工具(笨狼代码大管家)

今天在网上无意逛到的,识货的另存为文本代码管理工具.hta其中很多VBS代码值得学习,作者都标注说明了
<HTML>
<HEAD>
<TITLE>笨狼代码大管家</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
body
{
        font-size:12;
        BACKGROUND: #DADADA;
        margin-left:5;
        overflow:visible;
}

.folder
{
       
        font-size:18;
        cursor:hand;
}
.folderIcon
{
        color:navy;
        font-family:wingdings;
        font-size:18;
        cursor:hand;
}
.file
{
        color:navy;       
        font-size:18;
        cursor:hand;
        height:21;
}
.fileIcon
{
        color:navy;
        font-family:wingdings;
        font-size:18;
        cursor:hand;
        height:21;
        display:inline;
}
input
{
        width:20;
        overflow:visible;
        border:1px solid lightblue;
        background-color:#cccccc;
        cursor:text;       
}
button
{
        border:1px solid  gray;       
        width:60;       
        margin-left:2;
        cursor:hand;
        font-size:12;
        filter:progid:DXImageTransform.Microsoft.Gradient(startColorStr='#eaeaff', endColorStr='#618fff', gradientType='0');
}
textarea
{
        font-family:Verdana;
        font-size:12px;
        overflow-x:visible;
        overflow-y:scroll;
                margin-left:40;            
}

#frmTree
{
        WIDTH:200px;
        height:630;
        MARGIN: 0px;
        PADDING: 0px;       
        overflow:scroll;
        overflow-x:scroll;
        MARGIN-right:10;
}
       
#frmSeach
{
        WIDTH:200px;
        height:630;
        MARGIN: 0px;
        PADDING: 0px;       
        overflow:scroll;
        MARGIN-right:10;       
}

#hide_control
{
        POSITION: absolute;
        LEFT:213px;
        TOP:43px;
        WIDTH:10px;
        height:630;       
        BACKGROUND: #DADADA;
        padding-top:300;
        cursor:e-resize;
        border:1 solid gray;
        z-index:100;
}
#frmTop
{
        width:100%;
        height:20;
}               
#txtFrm
{
        POSITION: absolute;
        LEFT:230px;
        TOP:50px;
        WIDTH:100%;
        MARGIN-left: -20px;
        PADDING: 0px;
        BACKGROUND: #DADADA;
}
#txtRead
{
        display:none;
        position:absolute;
        color:red;
        font-size:18 px;
        top:0;
        left:0;
        background-color:black;
        z-index:1000;
}

#tab1
{
        border:1 solid  ;
        cursor:hand;
}
  #tab2
{
        border:1 solid  ;
        cursor:hand;
        BACKGROUND: gray;
        margin-right:200;
}

</style>


</HEAD>
<BODY onselectstart="vbs:selectControl" onkeydown="vbs:shortCut">

<div id="frmTop">
        <span id="tab1" onclick="vbs:showMe me"> &nbsp;目 录 </span>
        <span id="tab2" onclick="vbs:showMe me" > &nbsp;搜 索 </span>
                标题:<input id="articleTitle" style="width:100" readonly/>
        <button id="browse" onclick="vbs:browseMe" >预览</button>                       
        <button id="saveButton" onclick="vbs:saveFile" >保存</button>
        <button id="browse" onclick="vbs:createFile" >新建</button>       
        <button id="format" onclick="vbs:formatXML">格式化XML</button>       
        <button id="test" onclick="vbs:read">阅读模式</button>       
        <button id="test" onclick="vbs:showHelp">说明</button>       
        行&nbsp;<span id="Ln">1</span><hr/>
</div>
<div  id="frmTree" onclick="vbs:f_Click" onkeydown="vbs:deletFile" >

        <div id="tree" style='margin-left:0;color:navy;font-size:12;cursor:hand;' ></div>
</div>

<div  id="frmSeach" onclick="vbs:f_Click" >

        <hr/>
        <div id="list" style='margin-left:0' onkeydown="deletFile">
        <input id="searchKey" style="width:100" onkeypress="vbs:searchPress"/>       
        <button onclick="vbs:seachFile" id="searchButton">查找</button><br/>
                <div id="seachList" style='margin-left:0' >搜索结果</div>
        </div>
</div>

<input type="button"  id="hide_control" onmousedown="vbs:beginDrag" onmouseup="vbs:upHandler"  bgcolor="#eeeeee"/>
<div valign="top" id="txtFrm">

        <textarea id="txt"   onkeydown='vbs:TabTxt' onclick="vbs:showLn"  ></textarea>       
</div>
<div valign="top" id="txtRead" >

       
        <button  onclick='vbs:closeRead' >关闭</button>
        <br/>
         <iframe id='ifrm' frameborder=0 width="101%"  height="1000" SCROLLING="no" ></iframe>
</div>



<SCRIPT LANGUAGE="vbscript">


'**************************
'*****超级大笨狼***********
'**************************
        on error resume next
        window.resizeTo window.screen.availWidth,window.screen.availHeight
        window.moveTo 0,0
        frmTree.style.height = cint(window.screen.availHeight )-70
        hide_control.style.height = cint(window.screen.availHeight * 0.98)+5
        txt.style.height = cint(window.screen.availHeight )-70
        txt.style.width = cint(window.screen.availWidth - 250)
        'txt.style.width = window.screen.availWidth - px2Int(txtFrm.style.left) -20
       
        Set fso = CreateObject("Scripting.FileSystemObject")
        dim thisFileDir'定义本文件绝对路径
        dim thisFileName'定义本文件名
        dim thisFileFolder'定义本文件夹路径               

       
        thisFileDir = replace(window.location.href,"file:///","")
        thisFileDir = unescape(replace(thisFileDir,"/","\"))         
        thisFileName = LastOne(thisFileDir,"\")       
        thisFileFolder=getFolderDir(thisFileDir)
        tree.title = thisFileFolder
       
        dim currentDir'当前路径
        dim currentFile'当前文件
        dim currentDiv'当前DIV对象       
        dim currentSpan'当前Span对象       
        dim delatX
        dim dragAble:dragAble = false       
        dim Dtitle
       
        Dtitle=document.title

        currentDir = thisFileFolder               
        set currentDiv = tree
        tree.innerText =  getTxtName(thisFileName)       
       
        showMe tab1
        showFolder tree
       
sub read
        txtRead.style.display="block"
        txtRead.style.border="1px solid red"         
         
          
         HTML="<marquee id= SCROLLAMOUNT='4' SCROLLDELAY='1'  direction='up' height=' " & window.screen.availHeight-80  & "'>"
         HTML=  HTML & "<xmp style='word-wrap:break-word;line-height:60px ;' >" &  txt.value & "</xmp></marquee>"  
        ifrm.document.body.innerHTML= HTML
        ifrm.document.body.style.backgroundColor = "#000000"
        ifrm.document.body.style.fontSize="40"         
        ifrm.document.body.style.color="red"
        ifrm.document.body.style.textDecoration="underline"
        set marquee=ifrm.document.body.getElementsByTagName("marquee")(0)
        marquee.onmousemove=getRef("setMarquee")
end sub




sub setMarquee
        set m=ifrm.document.body.getElementsByTagName("marquee")(0)
        pos=  ifrm.window.event.clientY
        total=  ifrm.window.screen.availHeight                  
        if not isnumeric(pos) then exit sub
        if pos >total*2/5  and pos< total*3/5 then
                m.stop  
                 
        else
                m.start                 
        end if
        if  pos< total*2/5 then        
                m.direction="down"   
        else
                m.direction="up"          
        end if

        if  pos >total/5  and pos< total*4/5 then
                m.scrollAmount=1
        else
                m.scrollAmount=int(abs((pos-total/2)/20-8))
        end if
         
end sub

sub closeRead
         txtRead.style.display="none"
         
end sub

sub showLn
        Ln.innerText = cint((window.event.offsetY-2)/15)+1       
       
end sub

sub txt_onscroll
        frmTop.scrollIntoView
end sub       

sub formatXML()         
        set doc = createobject("MSXML2.DOMDocument")
        if doc.loadXML(txt.value) then
                Dim rdr, wrt
                set wrt = createobject("MSXML2.MXXMLWriter")
                set rdr = createobject("MSXML2.SAXXMLReader")                
                wrt.indent = True
                Set rdr.contentHandler = wrt               
                rdr.parse(txt.value)
                txt.value = wrt.output
        else
                alert("XML格式不正确,请确保Well-Formed!")
        end if         
end sub



sub shortCut
   
        if window.event.keyCode=83 and window.event.ctrlKey  then
                if currentFile<>"" then saveFile
                window.event.cancelBubble = true
                window.event.returnValue = false               
        end if
        if window.event.keyCode=66 and window.event.ctrlKey  then
                browseMe
                window.event.cancelBubble = true
                window.event.returnValue = false
        end if
         
        if window.event.keyCode=78 and window.event.ctrlKey  then
                createFile
                window.event.cancelBubble = true
                window.event.returnValue = false
        end if
       
end sub         
sub browseMe       
        dim win
        set win=window.open(currentFile)
        'win.document.write txt.value
end sub

sub createFile
        '点创建按钮,真的创建了.
        if vartype(currentSpan)<>0 then currentSpan.style.color = "navy"               
        if currentDir ="" then
                '如果点到了文件
                currentDir=getFolderDir(currentFile)
        else
                '点到了文件夹
                dim n                               
                set n=currentDiv.nextSibling       
                do                        
                        if vartype(n) =9 then  exit do       
                        if left(n.title,len(currentDir)) <> currentDir then exit do
                        set  currentDiv        =n                        
                        set n=n.nextSibling                                               
                loop
        end if
        dim re,newFile,s,f
       
        set re = new RegExp       
        re.Pattern = "[^\d]"
        re.Global=true
        newFile = currentDir & "新收藏" & re.Replace(mid(cstr(now()),3),"") & ".txt"       
        currentFile=newFile'新建文件是当前文件       
        '构造innerHTML
        s =  "<div class='file' title='" & newFile                  
        s = s & "'        style='margin-left:"
        if currentDiv.className = "file" then
                s = s  &  currentDiv.style.marginLeft & ";' >&nbsp;"
        else
                s = s  &  px2Int(currentDiv.style.marginLeft) + 8 & ";' >&nbsp;"
        end if
        s = s  &  "<span class='fileIcon'>2" & "</span>"
        s = s  &  "<input value='"       
        s = s &  getTxtName(lastOne(newFile,"\")) & "' title='" & getTxtName(lastOne(newFile,"\")) & "' onchange='vbs:reName me' />"                                 
        s = s & "</div>"
        '插入innerHTML
        currentDiv.insertAdjacentHTML "AfterEnd",s
       
        articleTitle.value = getTxtName(lastOne(newFile,"\"))
        txt.value = ""
        currentDir = ""
        set currentDiv = currentDiv.nextSibling
        set currentSpan = currentDiv.getElementsByTagName("SPAN")(0)
        currentSpan.style.color = "red"       
        '创建文件
        set f=fso.CreateTextFile(newFile)
        f.close
end sub
       
function getFolderDir(fullDir)
'输入得到全路径,得到文件夹路径
        s=LastOne(fullDir,"\")
        getFolderDir = left(fullDir,len(fullDir)-len(s))
end function

sub saveFile
'保存对文件的修改         
   Dim  f, st
   set f= fso.GetFile(currentFile)  
   If f.attributes and 1 Then
                if        window.confirm("该文件属性为只读,是否改变其属性并保存修改?") then f.attributes = f.attributes - 1
        end if
   Set st = fso.OpenTextFile(currentFile, 2, True)   
   
   st.Write txt.value
   st.close
end sub




sub deletFile
'删除文件
dim  n         
        if window.event.keyCode =46 and window.event.srcElement.tagName<>"INPUT"  then       
       
                if currentFile<>""  then
                        if currentFile = thisFileDir   then
                                alert "不允许删除本文件!"
                                exit sub
                        end if
                        if fso.FileExists(currentFile)  then
                                fso.deletefile currentFile,true
                                currentDiv.parentElement.removeChild currentDiv       
                                txt.value = ""
                                currentFile = ""
                                articleTitle.value = ""
                        end if               
                end if
               
                if currentDir<>""   then
                        if currentDir = thisFileFolder   then
                                alert "不允许删除根目录!"
                                exit sub
                        end if                                       
                        set n = currentDiv.nextSibling
                                        if window.confirm( currentDir & vbcrlf & "这个文件夹有子文件,你要删除全部子文件吗?") then
                                                do
                                                        if vartype(n) =9 then  exit do  
                                                        if px2Int(n.style.marginLeft) <= px2Int(currentDiv.style.marginLeft)   then exit do                                                        
                                                                n.parentElement.removeChild n                                                               
                                                        set n=currentDiv.nextSibling                               
                                                loop                                       
                                                                                       
                                                if  fso.FolderExists(currentDir)  then fso.DeleteFolder left(currentDir,len(currentDir)-1)
                                                currentDiv.parentElement.removeChild currentDiv                                                                                                               
                                        end if
                end if
               
        end if       
end sub



sub showMe(obj)
        if obj.id ="tab1" then
                tab2.style.backgroundColor="gray"
                tab1.style.backgroundColor="#DADADA"
                frmSeach.style.display="none"  
                frmTree.style.display=""
        else
                tab1.style.backgroundColor="gray"
                tab2.style.backgroundColor="#DADADA"
                frmSeach.style.display=""
                frmTree.style.display="none"  
        end if

end sub

sub beginDrag
'开始拖拽       
        delatX=window.event.clientX - px2Int(hide_control.currentStyle.left)       
        document.attachEvent "onmousemove",getRef("moveHandler")       
        dragAble = true       
        window.event.cancelBubble = true       
end sub

sub moveHandler
'移动绑定事件
        if not dragAble then exit sub       
        dim x
        x = window.event.clientX - delatX
        hide_control.style.left= x & "px"
        txtFrm.style.left=( x + 20) & "px"       
        txt.style.width = window.screen.availWidth - px2Int(txtFrm.style.left) -20
        window.event.cancelBubble=true
end sub

sub upHandler
'放开绑定事件       
        document.detachEvent "onmousemove",getRef("moveHandler")
        dim x
        x = window.event.clientX - delatX
       
        if px2Int(hide_control.style.left)>205 then
         frmTree.style.width = abs( px2Int(hide_control.style.left)-10) & "px"       
         frmSeach.style.width = abs( px2Int(hide_control.style.left)-10) & "px"
         else
         frmTree.style.width = "200px"       
         frmSeach.style.width = "200px"
        end if

       

        dragAble = false               
        window.event.cancelBubble=true       
end sub

function getTxtName(fullName)
'去掉文件名后缀
        dim s:s=lastOne(fullName,".")         
        getTxtName = left(fullName ,len(fullName)-len(s)-1)
end function


sub reName(obj)
        '改名
        dim Arr,a
        Arr=array("/","\",":","*","?",chr(34),"|","<",">")
        for each a in Arr
                if instr(obj.value,a) >0 then
                        alert "命名不能含有/\:*?" & chr(34) &  "|<>其中的一个"
                        obj.focus
                        exit sub
                 end if
        next       
        dim oldName,newName,oldPath,oldType
        oldName = obj.parentElement.title
        oldPath = getFolderDir(oldName)
        oldType = lastOne(oldName,".")
        newName = oldPath & obj.value & "." & oldType       
        Set f = fso.GetFile(oldName)
        f.copy newName
                currentFile = newName
        f.delete True
        obj.parentElement.title = newName
        articleTitle.value = getTxtName(lastOne(newName,"\"))
end sub

Function LastOne(Str,splitStr)
'输入字符和分隔符,得到最后一部分
        LastOne = right(Str,len(Str)-InStrRev(Str,splitStr))
End Function

sub  selectControl
'控制页面选择的状态
        if window.event.srcElement.tagName<>"INPUT" and window.event.srcElement.tagName<>"TEXTAREA"  then
                document.selection.clear
        end if
end sub

function isTXT(fileNameStr)
'判断是否是文本类型的文件       
        dim s,Arr,a,returnValue
        returnValue = false
        s=lcase(LastOne(fileNameStr,"."))
        Arr=array("txt","sql","htm","html","asp","csv","aspx","xml","js","vbs","ini","bat","css","htc","hta","xsl","xslt","lrc","vb","cs","cx","asa","aspx","asax","config","shtml","stm","cpp","c","cxx","h","hpp","rc","pl","pm","cgi","php3","php","java","jsp","tpl","wsh","sgf","xsd","udl","asmx","inc","cmd")
        for each a in Arr
                if a=s then
                        returnValue =true
                        exit for
                end if
        next
        isTXT = returnValue
end function

sub showFolder(obj)
            dim  folderspec :folderspec = obj.title
            obj.setAttribute "parsed",true          
                if not fso.FolderExists(folderspec) then
                        alert folderspec & "该文件夹不存在,也许是被移动了,所以刷新一下本程序"
                        window.location.reload
                exit sub
                end if
                dim f, f1, sf,sf1,i,s,fName
                set f=fso.GetFolder(folderspec)        
                set sf=f.Subfolders
                re = re &   f.name & "\"   
                s=""           
                for each sf1 in sf
                        s =  s & "<div class='folder' title='" & sf1.path & "\' style='margin-left:" & cint(replace(obj.style.marginLeft,"px","")) + 8 & ";'>"
                        s =  s & "<span class='folderIcon'>0" & "</span><input value='" & sf1.name & "' readonly style='cursor:hand;'/></div>"                                         
                next
               
                For Each f1 in f.Files
                        if isTXT(f1.name)  then                                  
                                s =  s & "<div class='file' title='" &  f1.path                          
                                s = s & "'        style='margin-left:"
                                s = s  &  px2Int(obj.style.marginLeft) + 8 & ";' >&nbsp;"
                                s = s  &  "<span class='fileIcon'>2" & "</span>"
                                s = s  &  "<input value='"
                                fName = getTxtName(f1.name)
                                s = s & fName & "' title='" & fName & "' onchange='vbs:reName me' />"                                 
                                s = s & "</div>"
                        end if
                Next       
                 obj.insertAdjacentHTML "AfterEnd",s                  
end sub



function px2Int(px)
        px2Int = cint(replace(px,"px",""))
end function



sub f_Click()
        dim obj,d,f,state
        set obj = window.event.srcElement
        if obj.id="searchKey" then exit sub
        if  obj.tagName<>"SPAN" and obj.tagName<>"INPUT"  then exit sub
        set currentDiv = obj.parentElement       
        set obj = currentDiv.getElementsByTagName("SPAN")(0)
         window.event.cancelBubble = true
        select case obj.className
                case  "folderIcon"  
                        '点到了文件夹       
                        if vartype(currentSpan)=8 then
                                 currentSpan.style.color = "navy"
                        end if
                        set currentSpan = obj               
                        state = abs(cint(obj.innerHTML)  -1)
                        obj.innerHTML = state
                        obj.style.color="red"
                        set d = obj.parentElement                       
                        currentDir = d.title
                        currentFile = ""
                        if d.getAttribute("parsed")=true then
                                '合拢
                                         
                                fold d,state                         
                        else
                                '解析       
                                showFolder d          
                        end if
                       
                       
                case  "fileIcon"  
                        '点到了文件,在textArea里面载入文本文件
                       
                        if vartype(currentSpan)=8 then
                                 currentSpan.style.color = "navy"
                        end if
                        set currentSpan = obj
                        obj.style.color="red"
                        readText obj.parentElement.title
                        currentDir = ""
                        currentFile = obj.parentElement.title
                       
        end select       
end sub       

sub fold(o,stateOpen)        '合拢       
        dim n
        set n=o.nextSibling       
        do
                if vartype(n) =9 then  exit do                
                if px2Int(n.style.marginLeft) <= px2Int(o.style.marginLeft)   then exit do          
                if stateOpen=1 then n.style.display="" else  n.style.display="none"       
                set n=n.nextSibling                       
        loop       
end sub


sub readText(filePath)  
        Dim f,fName
       
        if not fso.FileExists(filePath) then
                alert filePath & vbcrlf & "该文件不存在,也许是被移动了,所以刷新一下本程序"
                window.location.reload
                exit sub
        end if
               
        'TXT已经加载的当前文件不再加载.
       
        if filePath = currentFile then exit sub
        txt.value = ""
        Set f = fso.OpenTextFile(filePath, 1, true)
                if not f.AtEndOfStream  then
                        txt.value = f.readAll
                 else
                        txt.value = ""
                 end if               
                fName = lastOne(filePath,"\")               
                articleTitle.value =  getTxtName(fName)                       
        f.Close
        Ln.innerText = 1
End sub

sub TabTxt()
        '支持tab键的文本框
        if  window.event.keyCode=38  then
                if cint(Ln.innerText) >1 then Ln.innerText =  cint(Ln.innerText)-1
        end if
        if window.event.keyCode=40 then
                Ln.innerText =  cint(Ln.innerText)+1         
                       
        end if
       
        if window.event.keyCode<> 9 then exit sub       
        dim sel,mytext       
        set sel = document.selection.createRange()
         'txt.createTextRange
        mytext = sel.text
        if len(mytext)=0   then
                sel.text =string(4," ")
                window.event.cancelBubble = true
                window.event.returnValue = false               
                exit sub
        end if
       
        dim  t,Arr
        t=0
        Arr = split(mytext,vbcrlf)       
        if window.event.shiftKey then
        '按sift                       
                for i=0 to ubound(Arr)
                        if left(Arr(i),1)=vbtab then
                                Arr(i) = mid(Arr(i),2)
                                t= t + 1
                        else
                                for j=1 to 4
                                        if left(Arr(i),1)=" " then
                                                Arr(i) = mid(Arr(i),2)
                                                t= t + 1
                                        else
                                                exit for
                                        end if                       
                                next
                        end if
                next
                t= t
        else
        '不按sift       
                for i=0 to ubound(Arr)
                        Arr(i) = vbtab & Arr(i)
                        t= t +1
                next                               
        end if
                mytext = join(Arr,vbcrlf)
                sel.text = mytext
                sel.collapse true
                sel.moveEnd "character",0        
                sel.moveStart "character",(len(mytext) * -1) + t               
                sel.select()
        window.event.cancelBubble = true
        window.event.returnValue = false
end sub

'下面是关于搜索
dim  seachResult'查找结果
dim num '结果数量
dim word'搜索关键字

tagStop = false
seachResult =""       

'按回车后响应
sub searchPress
        if window.event.keyCode=13  then
                seachFile
        end if
end sub

'显示搜索结果
sub seachFile()       
                num =0       
                seachList.innerText = "搜索结果"                 
                word = searchKey.value               
                 seachResult =""                 
                 if trim(word)="" then
                        alert "关键字为空!"
                        searchKey.focus
                        exit sub
                else
                        dim l
                        for each l in list.getElementsByTagName("DIV")
                                if l.id<>"seachList" then list.removeChild l                 
                        next
                        seachList.innerText = "搜索结果"                       
                        seachWord thisFileFolder
                        seachList.insertAdjacentHTML "AfterEnd",seachResult
                        seachList.innerText = "搜索结果:" & num & "个"
                        alert "搜索完毕!"       
                 end if
end sub

sub seachWord(theFolder)       
        dim f,f1,st,re,fd,fd1
        set f = fso.GetFolder(theFolder)
        for each f1 in f.Files
                if isTxt(f1.path)  then
                        if instr(f1.path,word)>0 then
                                seachResult = seachResult & "<div class='file' title='" &  f1.path
                                seachResult = seachResult & "'><span class='fileIcon'>2" & "</span>"
                                seachResult = seachResult &  "<input value='"
                                fName = getTxtName(f1.name)
                                seachResult = seachResult & fName & "' title='" & fName & "'>"                                 
                                seachResult = seachResult & "</div>"
                                num = num + 1
                        else
                                set st = f1.OpenAsTextStream
                                '逐行读               
                                Do While st.AtEndOfStream <> True
                                        if instr(st.ReadLine,word)>0 then
                                                num = num +1                                               
                                                seachResult = seachResult & "<div class='file' title='" &  f1.path
                                                seachResult = seachResult & "'><span class='fileIcon'>2" & "</span>"
                                                seachResult = seachResult &  "<input value='"
                                                fName = getTxtName(f1.name)
                                                seachResult = seachResult & fName & "' title='" & fName & "'>"                                 
                                                seachResult = seachResult & "</div>"
                                                exit do                               
                                        end if
                                 Loop
                                st.Close
                        end if       
                end if
        next
        set fd = fso.GetFolder(theFolder)
                for each  fd1 in fd.SubFolders
                        seachWord fd1
                next
end sub


sub showHelp
        dim msg,f,re,version
        set f=fso.GetFile(thisFileDir)
        version = f.DateLastModified
        set re = new RegExp       
        re.Pattern = "[^\d]"
        re.Global=true
        version =  re.Replace(mid(cstr(version),3),"/")
                version =   left(version ,len(version)-3)
        set re = nothing       
        msg =                "  文本代码管理工具【IE5.5以上版本】" & vbcrlf
        msg = msg & "------------------------------------------------" & vbcrlf
        msg = msg & "  使用方法:放到文本类型的文件夹里面,双击运行。" & vbcrlf
        msg = msg & "功能:" & vbcrlf
        msg = msg & "1,快速浏览,预览CTRL+B,搜索文本类型的文件和代码;" & vbcrlf
        msg = msg & "2,按DEL可以删除点中的文件和文件夹;" & vbcrlf
        msg = msg & "3,可以修改文件名和文字内容,CTRL+S保存;" & vbcrlf
        msg = msg & "4,可以创建文件CTRL+N并且编辑保存;" & vbcrlf
        msg = msg & "5,文本编辑支持TAB和shift+TAB键;" & vbcrlf
        msg = msg & "6,格式化Well-Formed的XML文件;"        & vbcrlf
        msg = msg &    vbcrlf
        msg = msg & "作者:CSDN超级大笨狼[" & version & "版本]请随时到网站检查最新版本" & vbcrlf       
        msg = msg & "欢迎传播使用,交流代码panyuguang962@hotmail.com" & vbcrlf
        msg = msg & "http://superdullwolf.cnzone.net/index.asp" & vbcrlf
        alert msg
end sub
</SCRIPT>

</BODY>
</HTML>
[ Last edited by fastslz on 2007-12-17 at 10:51 PM ]

   此帖被 +34 点积分      点击查看详情   
评分人:【 baomaboy 分数: +5  时间:2007-12-15 19:22
评分人:【 zh159 分数: +6  时间:2007-12-15 19:57
评分人:【 lxmxn 分数: +8  时间:2007-12-15 21:03
评分人:【 everest79 分数: +15  时间:2007-12-17 23:54




第一高手    第二高手

2007-12-15 17:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 2 楼』:  

这个是早期的另外一个版本
@echo bs=_>xx.vbs
@echo "SFmchoxBA8MkzBAANAAAAAAAAAwcfRHICyEAvJBAAQeQAAgA0ldfS3MtReTH1wCAgAAAA4Mxx6Lt6L865yNwtnLp++tLoRXYAUmaHyyZj7UA4pao7ZAdl31dRBgLoRXYniBPOMdzI7SvF3Kpe/WP2x3PSMF0hoeagknY2Nq6I6ls"+_>>xx.vbs
@echo "ogF2UXlvo7gJhu1mjFig5ks9hfQzfIDZ76k4WqHS/bMhCjVxBbEq0JGpdGOJtsY+qKJoZ1dQ3ShHnc30EpE9l4LEJ2LLL5NXNMNYnDOFQlXoZ44LcFHHncudQSyezKF13RTVLNRr2CHuxaJ6cRQg3ycvV7jdsocZjxn89bdn6NRJ"+_>>xx.vbs
@echo "/U22M1yhLroV8oPNhW/++EvaGUtJvsfvRHrQTmSTIVrTueSrt6tjbKtotx0B1KmF4IAqZxtxlYbeQz6gn5achULM8b6RnfaMR04mT7rzdrtBfTi1c0OlNgTjPMXPgZESXALTBB/krhrdVhyj+Mjs3w/2hTqcfXYGnK+BrPIcxwIo"+_>>xx.vbs
@echo "BOXe060AKtMV24SdVVAUw0+YY97ct4AEz0fEu/s2XpNarT65xD1KZjcxiApbGXyVAinBTHGXjqmHEeG/YO6LnMSx7yobmsOxj77pTO34nOBHeNQbmah6i1fnYn/MNUTQtfOznJqIbAl8VvTsAyGk/CYi52FypznDKaRRB69QIdEP"+_>>xx.vbs
@echo "p/LKGGO2W2geOJm+yrbpa/1HDdkjyxdAHtHWRhbn9O9kCzVFw02K8o7D+yUgcT3TROq3cYFFlgyS52Zs5d6eE8bdGD5OslYg6xZWUcOtF2pYwPECeV7NZbkwet5o/4fCeNmp6FYXQSAvUaMbopC/c3+cZLFuoSBeGG9U+NvfNvny"+_>>xx.vbs
@echo "z758KUXm2tX5dUvU5e+DQr+SPl3ql01zuM4yo1vLYmZLSsQYFWUWtCc4Q0TmYLiSvUZ68ctOEyItqtxAHycxokWDSM6rJyN2Dm7vFoX8UiJ1fD9Amj1IggXfv6w9Z7pTQb+gKcYxloYJbE8sMtHmPVnwPFHS2yJ/kvg+X3/gcDNA"+_>>xx.vbs
@echo "iXybf/aDuZBryllOYsP0cmDBFf1SiLSTNvFvXHZpvJQIruU3oxUEHiI9haiRSVNGcIbrB2QxbSZkibkbBqWwZYS0EE8nIyl1YPdka71ZjTCe9HQDELrdKJwu+pKvfhOAYzY+wCVL11lRN6BeVhCSeSSvXrj9cDmABu56k5PALVvi"+_>>xx.vbs
@echo "B/QjmLZyzYE82o2dW7IaSAIsJCEexyWTAhHsIn2SYlDORLuVoQUnkrT6tuVTPC90NCGSeLGikHDia/dHyBPEdIJdGxmoquXLO7eJS1GiYWdegd4DHFMC7MoASb19vFT4BX9XH/XYCs2pgNwJZf2KerbE6tqWvRRgBbIk+2ae30wn"+_>>xx.vbs
@echo "eGi+jZ6/JuCHsjgo/xOuxs1LnlUQYjogi+7txb/b4Okanr422YcrO9h/mkW+1/v7Q3Ywc526zjpbLlIYRVwB1l89ZHsXLhCNhV0i6S8pXQW038OdELqfmM2eypQyfX3iVXut3sKFnvqLf/sIAKX3yHvwNdXSPoUBmGMWwnkjM7hi"+_>>xx.vbs
@echo "5yAIZkD0vNcgmcSL+hBc+lMW8f0EhtVe7edIeWPevl/Lp5mX7ixzivsljFSdgEIUs/zi1KSxe/7hk2U/Xb0uYIB+S3ntIz2H1HnHNL0rRHbJVgvgC51kEvP5z64lktfKlqS5TIslS9n6SUjGQKIriIXZIqs6cC9Tl0vpGF1vb+aE"+_>>xx.vbs
@echo "c/em52FdQEjgAIVTBZwSF4xJ0G7Hc9/TRd0ByNg636j8e10M0SofT2FtHNxHSvRk9aqw9LpdYZeF7G6pbgOQksJkz3SCOUb3Ft4sJ7bu31tizEaftwwug9EoNS1fL3tSnMoiWBKdLl4BkwU1qDicaumgPXTVPAxGGwiuuCa9LNAi"+_>>xx.vbs
@echo "VnCPg2LXVGQtl1BjOyVlHc5yYT7IBrqIuwS+RlJlOcHhMxX3LIemdwHadAJvPkXjhaiO2bp/oJto8PWBcT/gl/sVj9R5HHXG4oqD1HN2vwTkGVeLtx5pQQ28hCuPpwoUOCzAvdYfi+Zssv9s1IRcHFDd0um/5aIBXACZiOI0zE2B"+_>>xx.vbs
@echo "Q7wXgGOAF/ktYl3EnLW/ugjfHM4k811qHIo+VJ72nj67gHAjdFL41fGVVmBzTsXOx0NcI1+v+Y2WWX/4IrMgTJn0AM+BI9Z3W4lc107ntd4TZtSdu9HfgblFD6qdT+dXyZC7+v0npk2cCUvU1bb/4w+/WKX4banJtI7FtqmexbeV"+_>>xx.vbs
@echo "Wej4z8OvaFZ4mUveenhrSFVtVp72yrQpSD2azlBJfTAt6wrPSDecxf/0UDgmRohEAJNyCFklZ19EI+ENJQI8XoQ8fICCaPOAD+xYzafZ8F/GNX4+sSiyAuCORGlDYfPl9AfiOdWfrS/W8QmsQpvVw3BLyu1clLIBZefayyFX9T5z"+_>>xx.vbs
@echo "NNMEcNbcXt+0dLMupJjJoUKK+upOHpagxaa0XtLk0Q1KDAkAGO+MErRQ34V3zBO56l9XUYN3YlzKL6TLLXNMDrq6yJf+v+bUWDuBqgisYx+3W+dZ9KnF8Om1oKyN6DERINfFyN15xUkVYvPlAMDihp70D/TjVxvJd76TbCJj2Lz+"+_>>xx.vbs
@echo "G0KdLmMsKiIKj9ChGYAkkd7L6uGzb7V1zZljC/dKu+8Uj/N3KxQtOTYfTh3lMeIazatXO7QtWfyATV2egy+fqIS845PjYSV9Sud4uVx99fgcgCIFESmSt7S6gvFe7wEjx4dcw3PfFfjbevlycbqZQtU0qrTWuMoCtcaBTNxYf9kj"+_>>xx.vbs
@echo "XIa+khHTJruaJ53kU+5UNYmnVYArMzAuKeMa0RC2cWCa1Pz1kTYF4BNBtTa6InxIonZCmWwxq0qEjflhwQovylsn/iKLoa/85vKqwrYgM7am4hPn1DC76fEWrs+/zDZRB8WP7P0BsStfSaTzMNjp8iceoChjL28Km6UDt/2gPoG2"+_>>xx.vbs
@echo "Jcf6wnoXgGJjmzyXVrFQ9RV8pNSSXn1dJeyPO0OKat7ovbvMgCcAzb3geZB7DlYxWRZcv310lRT0bOLq0RMBhv049STJss/2iDsWmBpS6nHfrHQ9hO6DmsQcKS9LmZ0cEUUBSg4CRPQWFTUCSQEjvbpg+u/kXkTbkJOOHtBBpPbA"+_>>xx.vbs
@echo "F0lAEtMFkjCayEyCAIGzBf0oj701uTKt+1gWFbW/coHECvcVlcPXxroCoLmf2PFBcunk/2nHD1ni4za4CIBCsWAOp9O52wxnM+suF8yztI/s1LC6hoevoB9cT9xMP/LUuU1TdiXbUJjORNjHjii/PpuEbiQ4ZKb3d6Ai+8faQ2Th"+_>>xx.vbs
@echo "YR3PyRH3cFfeMD9OFMBEWPZRKJmLI7MUJKdJPFr2H2RIfcdXgvdiGFXfdzrfyxSG4dmqlosi69+nSFd8lX2N1p0BZC2FJusdizkS72c41GyMHUeaoldlYs0NLHk/V3M/dsUgYyVbFGblGDdsxn5385hMvljGUHWBUsjrSrCTZPcK"+_>>xx.vbs
@echo "KNVG+MJ3aD7NaneO+6AQZrfALz/9UfXbttm7I7c/lmfFn4bGVeuCuI8Oz1Krpcj70WVQCiE8CXoWDeDDo6gAgz+MavLhXXubRxmuV1T58fFS67VMXvfC3CaU+pJuouHDwYX6zTSW8lsup/uZcXKKIh+GX44r71+beN1/AxPmmeEr"+_>>xx.vbs
@echo "6oIL4DA5bn1+M01BxJYgDsWRvzehzrb0/ds/g8QAP1SXmT88t7K2JyuWcAwNAUIMSWIzqQ+r7dTO/g8+mZC3lJr3wQIwAHB5e5Pc2KHNhmqZGSl/1p9yi2tuXDasY/VeDTp4AZqDvZp7XNkhhI4XguGhqBbycbGiZjcdlPKsIzaS"+_>>xx.vbs
@echo "ghzICvdoHxLAbI9ukuNhc/G4SpKcDqqv1OsbFD6obIrfHOW76oCyTiTbHUnVrEpC/RhuW7hdMR4u2NTS2bws3QMz5WpIEXiobj1u1eNX0GhHNvwDpKgd1QlFA0oDPw8SgTuANJ2ZbslFCtykTDmBjKqZXxJrDw/FOvy1OrNDscK6"+_>>xx.vbs
@echo "habIv0Y2YDSQ2SH7/8/WSc2dpZSkv63fZqQ7suNuuTDPK9kIr7mZvgqasWdWxfITPl+9e/gi8MFWD/KKjOdbmzpeIRlenI6A7hzDvqQhTtOOaQDGvHjTRzbPmQkH5JtU1j+VbkEFmQUltv2CMNqgRTIWCoorNnMxr3+nJNNXAJfN"+_>>xx.vbs
@echo "30WMky9/hAKVyAWbvy7xpOq3W+pqN+xwLJwNZFtWVUfg6Gg+w7WD9P95BV8dLvwyvzAb8mL8Xca5XJ5hwkahB6KNuA4ULB3RtRmaXVWolqRR9rChHhpct+owbkHDOv6EZAMo5244WUVEbJ65dSkGCSlS0N0QO7ecMfqPcKOXlxyP"+_>>xx.vbs
@echo "ZoYV5kCWJTok84R1kJUzUzhkYv8pPLl6SgrGEzXO1G3Mu2Cvvoht5Pcv86IYQulK3u7OncXZoK2IuXObRALdUsU5OkU5/gr7dbdUx294cYsD2Q2My4AjokMXJv5iUG4UAkoU2mdLiNFNwijwdNS3iUhbDSM1DImDKWbixmIQ5QiS"+_>>xx.vbs
@echo "5GND9yONEIo7m/GRA94JdouXB6QRwUstvIM3cvNK17N8qKknoxricS1Y0RtVphRO86KwyeZZ8XSllMu+fgvCD6/+LtqdthqUw+Jhb7U+wSTqayT6COJfqh4BvvnGxwID8ZSzQFa8IwdH+aMDtDta5T8zGjCcgyvs+Tu9LJKjxJ27"+_>>xx.vbs
@echo "CRcn/jfmv+PJpDY1K/OWc82HvSIFzxfo3toa6gtfjP78cvhRm2TnHLtGLX1h6DUDTG5clDYVR+24QWgOSiUsPmSLhZlOYr8KJ5tmOMh/ZqbOaMTbjOs+0swm6ZJaQsV7h5IXVqkarRLxTfmqzlR9Bv6bs3r4fOICusA17ztedo5k"+_>>xx.vbs
@echo "h7mzUER/jIvQp9hy58/+8w+5qvoxKmP244Ao8IiS/NjgfTml2BvYtxntV2NoGtMh16gDYtz85Ef7gm22DBClgdTvJh1NyHpbgaka59VskHGcAXHZq+ci1z2lE5lUKxeIvcL5Qh0GW4fV0Oz0LwvH2UIRFszuf/o6fK1sp7BrPsrT"+_>>xx.vbs
@echo "FdVT29y410yTXqegyEj+MA/LlAkC7nrQ/1DD+7hOHSYagG7zzuvSpGO036po9GF0Q4wGA/5vYUdEOXX15MELe4ltstAIyeAGZ0lkn7xrv2c4i1PxKlmvOgrsqxws10BpyGYHaEaQpf+4LLNzfWd/kwVX0A+nQOic7MJJb84NPpZv"+_>>xx.vbs
@echo "t6T3wqwuKATk1XZ/fDHfWidS3uD2+frRqmE2iPkoUt7is0tXoo8Z15e6ltZEVP86PF4OW+5nUTb60RNI/Wewj4o/ppa2hrQEP7wvcJzJ5VMMOkBU7GeVUuN4Xiq3JQAf86m2pOJ53byDPurhmWQ53Xzoo5AK+lazQMO+A79K/xYI"+_>>xx.vbs
@echo "8pjLTkBwTsVw1WnlXJvtncFT3KSuzp2/L/lODrMpOPRry299YXw/m/Iux8o4c0Dlz5CwVszT3HtEADzlTr+QNjskbOjhfn2Oz+1bElqxHkjLLDcxmg0pnk3g01R+cmzyL2H5gAo8oye009B6pHGo+hil5XLYitQwxXvWt+l9xqEk"+_>>xx.vbs
@echo "MvbKQvtyEQBnVT2u/4Y3525pwgH/NYu8Q9eUhBNm8ADyLlB1g0eh/gaJbo9KGT03hqVILFWxJv33d2HMzXZ/0G9GTUucg3Ml92Gihwqr1uZtE1N6rEFZ9p8N6ff4lODVfvvGrzuTHU/uT6eAjkmul5HKBeiDT/1s4MJMUrDZaKnO"+_>>xx.vbs
@echo "edqkR8MU4+pB0xyv32Ytoy9sA4a1y/O2NsEHBQuVyAJtbM0rsnAVartaSpwvbLvuJmvFOQoX7kiDKp60RfDCggkOITyvtbZv/EU07qqY94QqILaidXrpwdTBbKUJnjGp67ezft+5MxEH5g0dDG4jJUCcidjaG4sYRL4j2+2wwe04"+_>>xx.vbs
@echo "alysaMJq+P6ycSLFOtf8lILLE5RHYAHCjBGMfhUFCsURKl0vQ6JU9gmmgjcpAEawjl9ALQhobI/NPz/SRwEm+4lnOohfSPu0/+uHeeAi62WjlvnFquEe88u7bsUGwuXOwuDYSoYxyoJ5TE6kmr6sJ6N4CV2TLL1ZZhPtovPDH6LE"+_>>xx.vbs
@echo "L2NJs5JgFKZgmPwo18HlvLSQQpnYiuBVVwqfjDMjBLFrpr/rXfy/t8CDwQgHrzbjDsLyah78OGz70tiKEXSdd7jFsiYyDptcpxUMlQp0KR6J2I6kSB1qNFC305owgxJXrWkmU/ZRhntGN3hbZUBGPbYaNNLEsXCJM7sMs18lbUJT"+_>>xx.vbs
@echo "Al6mye6+WWb+bqDqUxy9pOC6caDduKRkkdhAWSmeTeLiOwnBOAXBwtgwxxTUin7RwPjFunOkOHqEa/efDcw5W97U9ajf0iFobmP/j/bEJ3b9rluIxMfJMM7kF8BeFR52FB6xZ2xoT0EV8oJYK0PXxculJ+fXSK/Q5Zw6cqNk5p84"+_>>xx.vbs
@echo "yBrgil4i4i/o4VBbIpZebqLV2SPmj7XyOqfCbyUgFB9cACwvIem9p+P1E3zeAA0BAA=="+_>>xx.vbs
@echo "":set rs=CreateObject("ADODB.Recordset")>>xx.vbs
@echo set ado=CreateObject("ADODB.Stream")>>xx.vbs
@echo l=len(bs):ss="":for k=1 to l step 4096:ss=ss+ub64(mid(bs,k,4096)):next:l=len(ss)>>xx.vbs
@echo rs.fields.append "b",205,l/2:rs.open:rs.addnew:rs("b")=ss+chrb(0):rs.update>>xx.vbs
@echo ado.mode=3:ado.type=1:ado.open:ado.write rs("b").getchunk(l/2)>>xx.vbs
@echo ado.savetofile "文本代码管理工具.rar",2:ado.close>>xx.vbs
@echo function ub64(s):dim t(4),b(3):ub64="":n=len(s):r=2 >>xx.vbs
@echo if n mod 4^<^>0 then exit function:end if:for i=1 to n step 4:for j=0 to 3 >>xx.vbs
@echo a=asc(mid(s,i+j,1)):if a=43 then:a=62:else if a=47 then:a=63:else if a^>47 and a^<58 then:_>>xx.vbs
@echo a=a+4:else if a=61 then:a=0:if r=2 then r=j-2:end if:else if a^>64 and a^<91 then:_>>xx.vbs
@echo a=a-65:else if a^>96 and a^<123 then:a=a-71:else:exit function:_>>xx.vbs
@echo end if:end if:end if:end if:end if:end if:t(j)=a:next>>xx.vbs
@echo b(0)=t(0)+t(1)*64 mod 256:b(1)=t(1)\4+t(2)*16 mod 256:b(2)=t(2)\16+t(3)*4 >>xx.vbs
@echo for j=0 to r:if b(j)^<16 then ub64=ub64+"0":end if:ub64=ub64+hex(b(j))>>xx.vbs
@echo next:next:end function>>xx.vbs&&cscript.exe //nologo xx.vbs&del xx.vbs
[ Last edited by fastslz on 2007-12-17 at 10:56 PM ]



第一高手    第二高手

2007-12-15 17:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 3 楼』:  

好东西,收藏学习,特别是目录栏部分



2007-12-15 19:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 4 楼』:  

今天用了才发现作者没关联.cmd,1楼代码加上了



第一高手    第二高手

2007-12-17 22:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: