J'avais besoin de cacher la fenêtre d'un fichier batch appelé depuis un menu contextuel de l'explorateur, et j'avais également besoin d'ajouter des guillemets sur le paramètre. Aucune des réponses n'a fonctionné pour moi, donc j'ajoute ma propre solution. Je l'avais sur la “commande” du registre pour un menu contextuel de l'explorateur :
cmd /c C:\mypath\myprogram.bat "%1"
Donc pour le remplacer, j'ai dû créer un vbs comme ceci :
WScript.CreateObject ("WScript.shell").run "cmd /c C:\mypath\myprogram.bat """ & WScript.Arguments(0) & """", 0, False
Sauvegarder dans un endroit comme C:\mypath\myscript.vbs
et l'appeler comme ceci sur le registre :
wscript "C:\mypath\myscript.vbs" "%1"
Notez que le chemin d'accès .bat ne peut pas avoir d'espaces, donc remplacez-le par le nom de fichier 8.3. Ainsi, par exemple, C:\Program Files\myprogram.bat
doit être référencé comme C:\Progra~1\myprogram.bat
. Pour voir le nom de fichier 8.3, utilisez dir /x