用户登录
用户注册

分享至

把任意文件转成vbs文件的file2vbs的vbs代码

  • 作者: 我是老王的老婆i
  • 来源: 51数据库
  • 2021-07-28

tr4c3:为了方便在dos下使用,我把inputbox改成了args。

复制代码 代码如下:

'program by xiaolu 
'name:file2vbs.vbs 
on error resume next 
set args = wscript.arguments 
if args.length<>2 then 
wscript.echo "usage:" & wscript.scriptname & " c:\muma.exe c:\muma.vbs" 
wscript.quit 
end if 

do while 1 
fname = args(0) 
set ado = createobject("adodb.stream") 
with ado 
.type = 1 
.open 
.loadfromfile fname 
ss = .read 
end with 
exit do 
loop 

fname = args(1) 
set fso=createobject("scripting.filesystemobject") 
set file=fso.opentextfile(fname,2, true) 
lens=lenb(ss) mod 500 
for j=0 to int(lenb(ss)/500)-1 
if j=0 then 
file.writeline "ss="""&bin2str(midb(ss,500*j+1,500))&"""_" 
else 
file.writeline "+"""&bin2str(midb(ss,500*j+1,500))&"""_" 
end if 
next 
if lens>0 then 
file.writeline "+"""&bin2str(rightb(ss,lens))&"""" 
else 
file.writeline "+"&chr(34)&chr(34) 
end if 
file.writeline "" 
file.writeline "set rs=createobject(""adodb.recordset""):l=len(ss)/2:rs.fields.append ""m"",205,l:rs.open:rs.addnew:rs 
(""m"")=ss&chrb(0):rs.update:ss=rs(""m"").getchunk(l)" 
file.writeline "set s=createobject(""adodb.stream""):with s:.mode = 3:.type = 1:.open():.write ss:.savetofile  
wscript.arguments(0),2:end with" 
file.close 
set fso=nothing 
ado.close 
set abo=nothing 
function bin2str(re) 
for i = 1 to lenb(re) 
bt = ascb(midb(re, i, 1)) 
if bt < 16 then bin2str=bin2str&"0" 
bin2str=bin2str & hex(bt) 
next 
end function 

重新生成文件的办法

cscript xx.vbs x:\xxxx.exe
软件
前端设计
程序设计
Java相关