2 votes

La commande personnalisée dans le menu du clic droit ne fonctionne pas

J'ai ajouté, via le registre, une option de menu de clic droit pour tous les types de fichiers qui est censée obtenir la somme de contrôle MD5 pour un fichier.

HKEY_CLASSES_ROOT* \<strkeep>Shell<strkeep>\Checksum - Par défaut : Obtenir la somme de contrôle

y

HKEY_CLASSES_ROOT* \<strkeep>Shell<strkeep>\Checksum\command - Par défaut : checksum.cmd "%1"

checksum.cmd efface simplement l'écran, appelle fciv.exe en utilisant %1 et se met en pause.

Malheureusement, alors que l'option "Get Checksum" apparaît correctement dans le menu du clic droit, elle n'exécute pas la bonne action lorsqu'on la clique. Lorsque je clique dessus, une boîte de dialogue "Ouvrir avec" s'ouvre, ce qui n'est bien sûr pas ce que je veux.

checksum.cmd et fciv.exe sont tous deux dans le PATH.

checksum.cmd :

@echo off
cls
fciv.exe %1
pause

Quelqu'un sait ce qui se passe ?

1voto

martineau Points 4189

Afin d'exécuter le fichier .cmd, vous devez invoquer la commande Windows Shell et lui indiquer d'interpréter le Shell. Pour configurer cela dans le registre, modifiez les données de la valeur (par défaut) de la clé de commande en cmd.exe comme indiqué :

HKEY_CLASSES_ROOT\*\shell\Checksum\command - Default: cmd.exe /C checsum.cmd "%1"

D'ailleurs, vous pourriez remplacer le pause dans votre script avec quelque chose qui attendrait automatiquement un temps spécifié -- assez long pour que vous puissiez lire la sortie -- avant de continuer et de faire d'autres choses ou de permettre à la fenêtre de disparaître. Par exemple, pour faire une pause de 5 secondes, vous pourriez utiliser :

ping 1.0.0.0 -n 1 -w 5000 >nul

La valeur qui suit le -w L'argument donne le temps d'attente en millisecondes.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X