<!-- js<->vbs {Author:s11ss|From:www.cn-dos.net|Date:2008-2-1} -->
<job>
<script language=vbscript>
With WScript.Arguments
If .Count<1 Then .ShowUsage:WScript.Quit
For i=1 To .Count
s=s&vbCrLf&vbCrLf&i&"."&T(.Item(i-1))
Next
End With
WScript.Echo s
Function T(file)
Select Case Right(file,4)
Case ".vbs",".vbe" ext="js"
Case ".jse" ext="vbs"
Case Else If Right(file,3)=".js" Then ext="vbs"
End Select
If ext="" Then T="It's not a vbs or js file: "&file:Exit Function
Set fso=CreateObject("Scripting.FileSystemObject")
If Not fso.FileExists(file) Then T="It doesn't exist: "&file:Exit Function
str=getResource(ext)
Set orgf=fso.OpenTextFile(file)
If ext="vbs" Then
While Not orgf.AtEndOfStream
aline=orgf.ReadLine
str=str&vbCrLf&"';"&aline
Wend
Else
str=str&vbCrLf&orgf.ReadAll&vbCrLf&";*/"
End If
orgf.Close
Set newf=fso.CreateTextFile(file&"."&ext,True)
newf.Write str
newf.Close
Set fso=Nothing:Set orgf=Nothing:Set newf=Nothing
T="Created: "&file&"."&ext
End Function
</script>
<!-- usage and resource to use -->
<runtime>
<description>
vbs2js or js2vbs
(Other files won't be changed.)
</description>
<unnamed
name="filename"
helpstring="The file(s) to be changed."
many="true"
required="1"
/>
</runtime>
<resource id=js>
<![CDATA[
var WshShell=new ActiveXObject("WScript.Shell")
var fso=new ActiveXObject("Scripting.FileSystemObject")
var self=fso.OpenTextFile(WScript.ScriptFullName)
var vbsPath=WshShell.ExpandEnvironmentStrings("%tmp%")+"\\t2.1.vbs"
var vbs=fso.CreateTextFile(vbsPath,true)
var found=false
var str=""
while (!self.AtEndOfStream) {
var aline=self.ReadLine()
if (found)
{if (aline!=unescape("%3b")+unescape("%2a")+unescape("%2f")) str=str+aline+"\r\n"}
else
if (aline==unescape("%2f")+unescape("%2a")+unescape("%3b")) found=true
}
vbs.Write(str)
vbs.Close()
self.Close()
var arg=""
for(var i=0;i<WScript.Arguments.Count();i++) arg=arg+" "+WScript.Arguments(i)
WshShell.Run(WScript.FullName+" "+vbsPath+arg)
WScript.Sleep(500)
fso.DeleteFile(vbsPath)
/*;
]]>
</resource>
<resource id=vbs>
<![CDATA[
Set WshShell=CreateObject("WScript.Shell")
Set fso=CreateObject("Scripting.FileSystemObject")
Set self=fso.OpenTextFile(WScript.ScriptFullName)
jsPath=WshShell.ExpandEnvironmentStrings("%tmp%")&"\t2.1.js"
Set js=fso.CreateTextFile(jsPath,True)
While Not self.AtEndOfStream
aline=self.ReadLine
If Left(aline,2)=Chr(&h27)&Chr(&h3b) Then str=str&Right(aline,Len(aline)-2)&vbCrLf
Wend
js.Write str
js.Close:self.Close
For i=0 to WScript.Arguments.Count-1
arg=arg&" "&WScript.Arguments(i)
Next
WshShell.Run WScript.FullName+" "+jsPath+arg
WScript.Sleep 500
fso.DeleteFile jsPath
Set WshShell=Nothing:Set fso=Nothing:Set self=Nothing:Set js=Nothing
]]>
</resource>
</job>