Fichier de commandes dans le menu contextuel

1

Je crée un fichier batch qui va chiffrer des informations. Je l'ai fait quand je fais un clic droit sur l'objet et cliquez sur le bouton "tester", il lance le fichier de commandes.

Dans regeditj'ai ajouté

Computer\HKEY_CLASSES_ROOT\*\shell\Test\command

les données de la commande sont

C:\Users\%username%\Desktop\encrypt.bat

Que dois-je faire pour les données (dans la clé de registre que j'ai ajoutée) et comment sont-elles stockées comme dans ma variable?

Jake Inc.
la source
La dernière phrase n'a pas de sens pour moi. Qu'entendez-vous par "que dois-je faire pour les données"?
Je ne sais pas comment ajouter une sélection au menu du clic droit du shell, mais si vous y allez Start, Run -> shell:sendto, vous pouvez ajouter un raccourci ou un script de traitement par lots et il s'affichera par un clic droit -> Envoyer à. De plus, si vous utilisez un script batch, le nom du fichier sera% 0 et le nom complet (chemin + nom du fichier) sera% 1.
Caleb Jares
Ok, nous y arrivions mais j'ai besoin de savoir quelle variable serait le texte. Merci de votre aide
Jake Inc.

Réponses:

1

Vous devez associer au type de fichier le script que vous souhaitez lancer sur ce type. Sous Windows, tout cela est basé sur l’extension (au moins sur XP, je ne sais pas sur 7, mais je doute que cela ait changé). Dites que l’extension de vos fichiers est ".abc" et votre application est:

c:\program files\dummy\process.bat

(J'ai abandonné la variable pour le moment, je ne suis pas sûr de son comportement dans les fichiers .reg)

Il suffit donc de modifier un fichier texte config.reg qui contiendra les éléments suivants:

Windows Registry Editor Version 5.00

; the extension .abc gets associated with a file type
[HKEY_CLASSES_ROOT\.abc]
@="abc-file"

; the file-type gets a name (that appears in explorer in field "type")
[HKEY_CLASSES_ROOT\abc-file]
@="foo file"

; What will appear in the contextual menu when selecting an .abc file
[HKEY_CLASSES_ROOT\abc-file\shell\cmdname-1]
@="--- Process ! ----"

; What to do with it
; here, %1 is the file given as argument of the script
[HKEY_CLASSES_ROOT\abc-file\shell\cmdname-1\command]
@="\"c:\\program files\\dummy\\process.bat\" \"%1\""

Enfin importez-le. Vous avez terminé.

Commentaires supplémentaires:

  • Toutes les citations étranges et barres obliques inverses sont là pour permettre une gestion correcte des noms avec des espaces. Oui, maintenant, personne n'a d'espaces dans les noms de fichiers. Ou en ont-ils? En tout cas, ça arrive!
  • Vous pouvez bien sûr avoir plusieurs commandes pour un type de fichier. Copiez simplement les deux dernières clés du .reg (cmdname-1 ==> cmdname-2)
  • Vous pouvez également associer différentes extensions de fichier au même type de fichier. par exemple, les fichiers HTML peuvent avoir .htm ou .html
  • Vous pouvez même associer une action à des dossiers. remplace le type de fichier par "dossier"
  • Il peut être utile de fournir une fonctionnalité de "désinstallation". Il suffit de créer un autre fichier reg et de préfixer les clés créées avec «-».
kebs
la source