Ce script encode tout fichier vbs,js,asp,html,...

Contenu du snippet

Ce script en ligne de commande encode tout fichier vbs,js,asp,html,...
à l'identique de l'encodeur "screnc.exe" de Microsoft :
http://msdn.microsoft.com/library/default.asp?url=/downloads/list/webdev.asp

Source / Exemple :


</description>
<unnamed
	name = "srce"
	helpstring = "Nom de fichier source à encoder"
	type = "string" 
	required = "true" />
<unnamed 
	name = "dest" 
	helpstring = "Nom de fichier destination encodé"
	type = "string" 
	required = "true" />
<unnamed 
	name = "A"
	helpstring = "Affichage du fichier encodé dans le bloc-notes"
	type = "string" 
	required = "false" />
<example>
Chaque nom de fichier doit être encadré par des guillemets
s'il contient des espaces.

Exemples : 
----------
 screncode.wsf "m:\mes scripts\monscript.vbs" h:\wsh\monscript.vbe 
 screncode.wsf "k:\mon site\identdec.asp" D:\Inetpub\wwwroot\ident.asp 
---------------------------------------------------------------------
</example>
</runtime>
<script language="VBScript">
Const SW_SHOWNORMAL=1 
Const ForReading=1
Const ForWriting=2

Set fso     = WScript.CreateObject("Scripting.FileSystemObject")
Set shell   = WScript.CreateObject("WScript.Shell")
Set UnNamed = WScript.Arguments.UnNamed

nu=UnNamed.count
If nu<2 Then
	WScript.Arguments.ShowUsage
	WScript.Quit
	End If
Srce=UnNamed(0)
Dest=UnNamed(1)
Display=false
If nu>=3 then if lcase(UnNamed(2))="a" Then Display=true

If not fso.FileExists(Srce)  Then
	MsgBox "Le fichier " & Srce & " n'a pas été trouvé", vbCritical + vbOKOnly, "Encodage de fichier"
	WScript.Quit
	End If
If fso.FileExists(Dest)  Then
	rep=MsgBox("Le fichier destination " & Dest & " existe déjà." & VBCRLF & _
	"Faut-il l'écraser ?", vbQuestion+vbYesNo, "Encodage de fichier")
	If rep<>vbYes Then WScript.Quit
	End If
Set fs=fso.GetFile(Srce)  
pe=InstrRev(fs.Name,".")
If pe>0 then ext=lcase(mid(fs.Name,pe)) else ext=".vbs"
If ext=".wsf" Then ext=".html"

Set fs = fso.OpenTextFile(Srce,ForReading,false)
data=fs.readAll
fs.close
Set se=WScript.CreateObject("Scripting.Encoder")
dataenc=se.EncodeScriptFile(ext,data, 0, "")

Set fd = fso.CreateTextFile(Dest, true,false)
fd.Write dataenc
fd.close
If Display Then
	cmd="notepad.exe """ & Dest & """"
	shell.run cmd,SW_SHOWNORMAL,false
	End If
WScript.Quit
'--------------------------------------------------------------------
</script>
</job>

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.