vbs版的拉~ 就是要增加注释符号,比较累赘,不过有代码搞成可再利用了。
包裹里有个代码,来判断自身内容并导出的,这个代码要
打包脚本来生成。而打包脚本本身要读取自身的这部分代码,并导出给包裹的开头。
因为功能有相同之处,我就写成读取自身的这部分并交给包裹,所以减少了一段。
http://www.cn-dos.net/forum/viewthread.php?tid=49108- '#act#parcel.vbe
- ''ThisScriptParcel,code by paktc + if_exist + 523066680
- :set fs=createobject("scripting.filesystemobject")
- :set readme=fs.opentextfile(wscript.scriptname)
- :act=0
- :while readme.atendofstream=false
- : linea=readme.readline
- : if left(linea,6)=chr(39) &"#end#" then
- : act=0 : fnow.close
- : end if
- : if act=1 then
- : fnow.writeline mid(linea,2)
- : end if
- : if left(linea,6)=chr(39) &"#act#" then
- : act=1
- : set fnow=fs.createtextfile(mid(linea,7),true)
- : end if
- :wend
- 'wscript.quit
- '#end#parcel.vbe
- fold=replace(wscript.scriptfullname,wscript.scriptname,"")
- set parcel=fs.opentextfile("parcel.vbe",8)
- strx=""
- format="txt,vbs,bat"
- for each fname in fs.getfolder(fold).files
- if replace(format,lcase(right(fname,3)),"")<>format then
- if replace(fname,wscript.scriptname,"")=fname then
- strx=strx& fname &vbcrlf
- set readx=fs.opentextfile(fname)
- parcel.writeline chr(39) &"#act#"&fs.getfilename(fname)
- parcel.writeline chr(39) &replace(readx.readall,vbcrlf,vbcrlf &chr(39))
- parcel.writeline chr(39) &"#end#"&fs.getfilename(fname)
- end if
- end if
- next
- readx.close : parcel.close : msgbox strx
- wscript.quit
复制代码
哪,既然发上来了,就做下说明
代码有一句 format="txt,vbs,bat"
这里面定义被打包的文件格式的。后面的操作是在文件集里面获取格式并判断
是否为其中之一。
[ 本帖最后由 523066680 于 2009-10-26 16:48 编辑 ] |