2009-12-10 4 views
1

J'ai ce fichier de commandes qui a besoin de faire quelque chose dans un dossier.Variables dans l'édition de lot et de registre pour la prise en charge du clic droit

Voici ce que je veux:

-A raccourci lorsque vous faites un clic droit. (shell32 je pense que vous devriez éditer avec le registre ou si ...? Quelqu'un peut-il le dire?)

-Si ce raccourci est pressé, le lot est ouvert, et il localise le dossier où il a été fait un clic droit. Il devrait définir cela comme une variable,% folder%.

Merci.

+0

Vous réalisez que le lot ne vous aide pas vraiment? Tout ce qu'il fera est de définir la variable d'environnement pour le processus cmd spawning. Qui va mourir une fois le lot terminé. Vous pouvez le mettre dans le registre via 'setx' mais vous avez toujours une variable' folder', pointant quelque part mais de temps en temps quelque part ailleurs. – Joey

Répondre

2

Pour le fichier de Registre:

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\Folder\shell\TEXT_TO_SHOW_IN_EXPLORER_CONTEXT] 

[HKEY_CLASSES_ROOT\Folder\shell\TEXT_TO_SHOW_IN_EXPLORER_CONTEXT\command] 
@="C:\\Path\\to\\batch.cmd \"%1\"" 

Pour le fichier batch:

set folder=%1 
:: remove the " from the variable 
set folder=%folder:"=% 
echo %folder% 

Commentaire sur la ligne 3 du fichier batch si vous voulez garder " « s dans le chemin du dossier.

+0

Ai-je toujours besoin de deux barres obliques pour le chemin vers le cmd? –

+0

il semblait avoir échoué. Ce que j'ai fait: -Créer un nouveau dossier -créer le nouveau dossier de commande -Mettre la chaîne par défaut à @ = "C: \\ Chemin \\ à \\ batch.cmd \"% 1 \ "" –

+0

donc, il n'affiche pas le option dans le menu contextuel du shell. –