L'exécution d'un script de commandes par clic-droit sur n'importe quel fichier
L'idée est de faire un clic droit sur un fichier, puis sélectionnez "backup" dans une liste déroulante qui copie simplement le fichier et ajoute une date à la fin de son nom, puis, éventuellement, des coups de copier sur un autre disque.
Je voudrais une méthode d'exécution d'un script de commandes en cliquant droit sur un fichier et le passage que comme un argument (sans le taper), ou en quelque sorte en sachant que le fichier est celui qui devrait être utilisé dans le script.
Principalement pour windows XP, j'ai besoin qu'il soit natif comme beaucoup de site de les ordinateurs, je travail sur ne nous appartiennent pas et je ne veux pas copier les fichiers plus que nécessaire ou appuyer sur quelque chose de plus que la norme commandes disponibles (les deux tiers des machines n'ont pas de powershell ect)
Je sais comment vous pouvez modifier les options de fichier pour ouvrir un cmd à un emplacement de dossier spécifique(ci-dessous), et j'ai froid sans doute changer ce travail pour 1 type de fichier spécifique, mais je ne veux pas ajouter une clé pour chaque type de fichier sur la machine.
[HKEY_CLASSES_ROOT\Folder\shell\1.chauve-souris\command]
@="c:\windows\system32\cmd.exe \"%1\""
À partir d'un autre site, un travail autour de cela près résout ce pour moi
jvierra - "Windows a toujours eu cette capacité sans modifier le registre.
Place une chauve-souris ou VBS fichier sur votre bureau. Faites glisser et déposez un fichier sur la chauve-souris de l'icône. La chauve-souris va recevoir le nom de fichier du fichier déposé en %1 et vbscript recevrez comme WScript.Arguments(0).
De l'essayer. Il fonctionne très bien. La chauve-souris ou un script peut faire n'importe quoi avec le fichier à partir de ce point."
SendTo
dossier, puis vous pouvez cliquer-droit sur un fichier, sélectionnez "Envoyer vers", puis choisissez la sauvegarde. Qui ne nécessiterait pas de modification de la base de registre.OriginalL'auteur daniel | 2011-07-28
Vous devez vous connecter pour publier un commentaire.
vous pouvez ajouter votre batte pour le menu "Envoyer Vers". Voir http://support.microsoft.com/kb/310270
En bref, il suffit de copier votre .fichier bat dans le dossier SendTo.
l'utilisateur invoque votre chauve-souris en sélectionnant l'option du menu "Envoyer Vers" de l'élément.
pour les plus sophistiquées paramétrage, comme changer le texte affiché dans le menu ou l'icône... vous pouvez créer un lien vers votre .Chauve-souris et placer le lien dans le dossier SendTo à la place de la .chauve-souris elle-même
Vous pouvez exécuter un test rapide. Créer un fichier BAT avec ce contenu, et la copier dans dossier Sendto.
Edit: dessous quelques commments, j'ai corrigé le dossier SendTo de la spécification de la commande de COPIE, par ajouter les guillemets; et j'ai ajouté un exemple de test et de correction de la
%~dpnx
syntaxele nom de fichier est transmis par l'Explorateur comme premier paramètre de la invoquée .chauve-souris. Avez-vous essayé? quel problème avez-vous eu?
C'est une chose difficile à expliquer, et difficile de google pour ce qui est pourquoi je demande. Le script de commandes a besoin de savoir laquelle le fichier a été cliqué. Je comprends le fait d'avoir une .chauve-souris dans le sendto vous permet de faire un clic droit et exécuter. mais comment le fichier en tant que premier paramètre par la suite.
Je suppose une meilleure façon de l'expliquer est que j'ai un script batch qui sauvegarde c:\onething.txt maintenant je veux changer d'être codé en dur, pour être en mesure de sauvegarder quoi que ce soit, et je veux lancer le script sans l'aide d'un cmd ou de taper quoi que ce soit (en cliquant seulement, l'exemple de l'OP utilise un glisser-déposer sur un fichier qui est un peu étrange, si il y avait un moyen de le faire avec un envoyer pour qu'il se sente de plus normal).
Sur Windows 7, l'Envoyer À: répertoire:C:\Users\YOUR_USER_ID\AppData\Roaming\Microsoft\Windows\SendTo, ou %AppData%\Microsoft\Windows\SendTo
OriginalL'auteur PA.
@PA exemple (copie ci-dessous pour le visionnement facile) est désactivée par un cheveu.
Je n'ai pas assez de réputation pour répondre à @PA. Vous avez oublié d'inclure le ~ dans la variable. Cette Q & A m'a beaucoup aidé donc j'espère que cela aide quelqu'un d'autre. Merci @daniel et @PA
Corrigé daniel test exemple ci-dessous
Si vous voulez juste écho le nom du fichier sans le chemin d'accès alors vous devez utiliser %~n1
exemple:
OriginalL'auteur julesverne