En fait je n'ai pas modifié grand chose pour tester, j'ai juste évité que ça me renomme mon fichier (vu que je passe de MPG en AVI, je ne change que l'extension et ne rajoute pas le préfixe "recomp.".
J'ai changé le temps d'attente du message à 1s au lieu de 10s.
Et je pense que je rajouterais la suppression du fichier source à la fin de la compression.
Autre chose qui serait utile (je ne sais pas si je le ferais, je n'en ai pas forcément l'utilité), c'est de gérer une liste d'arguments + importante (au dessus de 20 fichiers, le nombre d'arguments est trop important pour l'exécutable), donc par exemple je permettrait la compression de toutes les vidéos d'un seul répertoire, mais c'est pas sûr que je le fasse ça :-)
En gros voilà ce que donne le fichier actuel :
Dim FSO
Dim filename
Dim cmd
Dim i
Dim res
Set FSO = CreateObject("Scripting.FileSystemObject" )
If WScript.arguments.length = 0 Then
WScript.Echo "Veuillez faire glisser au moins un fichier sur ce raccourci !"
WScript.Quit
End If
For i=0 to WScript.arguments.length - 1
filename = WScript.arguments.item(i)
'cmd = """" & FSO.GetParentFolderName(WScript.ScriptFullName) + "\mencoder.exe"" -ovc xvid -xvidencopts quant_type=mpeg:fixed_quant=4:me_quality=6:vhq=4:trellis -vf harddup -oac mp3lame -lameopts mode=1:cbr:br=128 -af volnorm -af-adv force=0 """ + filename + """ -o """ + FSO.GetParentFolderName(filename) + "\" + FSO.GetBaseName(filename) + ".avi"""
cmd = """" & FSO.GetParentFolderName(WScript.ScriptFullName) + "\mencoder.exe"" -ovc xvid -xvidencopts quant_type=mpeg:bitrate=1200:me_quality=6:vhq=4:trellis -oac mp3lame -lameopts mode=1:cbr:br=128 -af volnorm -af-adv force=0 """ + filename + """ -o """ + FSO.GetParentFolderName(filename) + "\" + FSO.GetBaseName(filename) + ".avi"""
Dim WshShell
Set WshShell = CreateObject("Wscript.Shell" )
Set WshSysEnv = WshShell.Environment("SYSTEM" )
res = WshShell.Popup("Now encoding: " + FSO.GetFileName(filename), 1, "Recode", 1 + 64) ' OK / Cancel
If res = 2 Then
WScript.Quit
End if
' Settings for intWindowStyle.
'
' 0 Hide the window and activate another window.
' 1 Activate and display the window. (restore size and position) Specify this flag when displaying a window for the first time.
' 2 Activate & minimize.
' 3 Activate & maximize.
' 4 Restore. The active window remains active.
' 5 Activate & Restore.
' 6 Minimize & activate the next top-level window in the Z order.
' 7 Minimize. The active window remains active.
' 8 Display the window in its current state. The active window remains active.
' 9 Restore & Activate. Specify this flag when restoring a minimized window.
' 10 Sets the show-state based on the state of the program that started the application. Example
WshShell.Run cmd, 8, True
Next