J'essaie de créer une commande de menu contextuel avec le bouton droit de la souris pour compresser les fichiers JavaScript avec le compresseur YUI. Mon but ultime est d'essayer d'obtenir ce pour fonctionner sur un menu contextuel:Obtention du nom de fichier sans extension dans un script batch Windows
java.exe -jar yuicompressor-2.4.2.jar -o <filename>.min.js <filename>.js
Je sais que je peux utiliser la %1
variable pour référencer le nom du fichier en cours d'ouverture. Je ne peux pas comprendre comment obtenir cette commande dans une syntaxe de fichier par lots et n'ai pas été capable de trouver des réponses en ligne.
Mise à jour:
La réponse de Jeremy (+ commentaires) a fonctionné. Pour toute personne qui trébuche sur ce, voici ce que je devais faire:
Dans l'action que je crée le fichier JavaScript, je ce que la commande:
minify.bat "%1"
Ce qui appelle mon script batch, qui ressemble à ceci:
java.exe -jar yuicompressor-2.4.2.jar -o "%~dpn1.min.js" %1
pour le script batch, gardez à l'esprit que le code ci-dessus suppose les répertoires pour java.exe & yuicompressor sont tous deux ajoutés à vos variables PATH
. Si vous ne les ajoutez pas à votre chemin, vous devrez utiliser le chemin d'accès complet aux fichiers.
La séquence %~dpn
est utilisée pour obtenir:
%~d
- Le lecteur%~p
- Le chemin%~n
- Le nom du fichier
Voir'appel /? 'Pour la liste complète des améliorations aux fenêtres des paramètres de traitement par lots, y compris'% ~ x1' pour l'extension. –