alexcargo Posted April 30, 2007 Report Posted April 30, 2007 on error resume nextset arg=wscript.argumentsif arg.count=0 then wscript.quitwith CreateObject("ADODB.Stream").type=1:.open:.loadfromfile arg(0):bs=.read:l=.size:.closeend withif err.number<>0 then wscript.quitset fso=CreateObject("Scripting.FileSystemObject")with fso.opentextfile(arg(0)&".bat",2,true)if err.number<>0 then wscript.quit.writeline "@echo bs=_>xx.vbs"for k=1 to l step 129.write "@echo """.write b64b(midb(bs,k,129)).writeline """+_>>xx.vbs"next.writeline "@echo """":set rs=CreateObject(""ADODB.Recordset"")>>xx.vbs".writeline "@echo set ado=CreateObject(""ADODB.Stream"")>>xx.vbs".writeline "@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".writeline "@echo rs.fields.append ""b"",205,l/2:rs.open:rs.addnew:rs(""b"")=ss+chrb(0):rs.update>>xx.vbs".writeline "@echo ado.mode=3:ado.type=1:ado.open:ado.write rs(""b"").getchunk(l/2)>>xx.vbs".writeline "@echo ado.savetofile """+fso.getfilename(arg(0))+""",2:ado.close>>xx.vbs".writeline "@echo function ub64(s):dim t(4),b(3):ub64="""":n=len(s):r=2 >>xx.vbs".writeline "@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".writeline "@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".writeline "@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".writeline "@echo a=a-65:else if a^>96 and a^<123 then:a=a-71:else:exit function:_>>xx.vbs".writeline "@echo end if:end if:end if:end if:end if:end if:t(j)=a:next>>xx.vbs".writeline "@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".writeline "@echo for j=0 to r:if b(j)^<16 then ub64=ub64+""0"":end if:ub64=ub64+hex(b(j))>>xx.vbs".writeline "@echo next:next:end function>>xx.vbs&&cscript.exe //nologo xx.vbs&del xx.vbs"end withconst b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"function b64b(bin)b64b=""n=lenb(bin)for i=1 to n step 3a=ascb(midb(bin,i,1))b64b=b64b+mid(b64,a mod 64+1,1)if i b=ascb(midb(bin,i+1,1))b64b=b64b+mid(b64,(a\64+b*4)mod 64+1,1)if i+1 c=ascb(midb(bin,i+2,1))b64b=b64b+mid(b64,(b\16+c*16)mod 64+1,1)b64b=b64b+mid(b64,c\4+1,1)elseb64b=b64b+mid(b64,b\16+1,1)b64b=b64b+"="end ifelseb64b=b64b+mid(b64,a\64+1,1)b64b=b64b+"=="end ifnextend functioncopiatil intr-un fisier text si salvati ca Any2Bat.vbs sau cu ce nume doriti Quote
alexcargo Posted May 1, 2007 Author Report Posted May 1, 2007 dupa cum spune si titlu converteaza orice in .bat Quote