Nous avons tous des tâches qui montent de temps en temps que nous pensons que nous ferions mieux de scripter ou d'automatiser que de faire manuellement.
Évidemment, certains outils ou langues sont meilleurs pour cela que d'autres - personne (dans leur bon esprit) fait un travail unique de croisement de la croisée des listes de texte PM vient de leur donner en assembleur par exemple.
Quel outil ou une langue recommanderiez-vous pour le type de travail rapide et sale que vous vous demandez de faire où le temps (plutôt que l'élégance) est de l'essence?
Contexte: Je suis un ancien programmeur, maintenant Development Manager PM, cherchant à apprendre une nouvelle langue pour le plaisir. Si je vais apprendre quelque chose pour le plaisir, j'aimerais que cela soit utile et que ce type d'utilisation est le plus susceptible de venir.
python
La réponse évidente (et avec une bonne raison) est Python. C'est un langage solide, une plate-forme transversale disponible. Comme sa dynamique, vous pouvez l'exécuter de manière interactive, ce qui est idéal pour laver des trucs ensemble et sa sélection assez importante de bibliothèques de sorte que sa langue générale peut donc être appliquée à la plupart des problèmes.
autoit est imbattable. C'est un outil avec une langue.
Autohotkey est un utilitaire gratuit et open-source pour Windows. Avec ça, tu peux:
J'ai sauvé plusieurs entreprises une grosse somme d'argent en utilisant cet outil.
Perl
Perl est à peu près ma définition de rapide et sale.
Perl est infiniment flexible qui est une force et une faiblesse. Cela ne force pas la structure sur vous, mais c'est là que si vous le voulez. Il a des bibliothèques pour tout. Il a été largement utilisé depuis 20 ans; Il y a des tonnes de code pour travailler avec.
PowerShell
Ceci est moins générique que Python - mais si vous existez dans un environnement Windows, il est probablement que ça va être plus utile.
Son plus de shell/script comme =Python (parce que c'est ce qu'il est), mais il peut accrocher à la framework .NET qui vous donne une capacité de capacité assez extraordinaire. Il a également un large soutien de la communauté.
Microsoft a été occupé à ajouter PowerShell à leurs produits de serveur (d'où les "plus utiles") et ont introduit la télécommande pour vous permettre d'exécuter des scripts là-bas de votre console ici .
Une coquille unix moderne. Par exemple. frapper.
eLISP, si vous avez vu la richesse des tâches, elle est utilisée afin d'accomplir à travers sa plate-forme sous-jacente EMACS. Emacs peut éteindre toutes les fonctionnalités d'un gestionnaire de fenêtres respectueux de la fenêtre, d'IDE, de Bureau, du navigateur, du client de messagerie, du client de chat, de la coque, de l'explorateur de systèmes de fichiers, etc. La majeure partie est accomplie par le biais de programmes ELISP.
Pour certaines tâches, Actions pourrait être un bon ajustement.
Il possède une sorte de processus d'écoulement, où vous pouvez ajouter actions
pour fonctionner séquentiellement. Nouveau actions
peut être écrit en Java.
Disclaimer: Je dois encore l'utiliser.
Pour une automatisation complexe, vous voudrez peut-être utiliser Robot Framework . Le cadre est principalement destiné aux tests automatisés, mais peut également être utilisé pour l'automatisation générale.
Vous pouvez facilement écrire vos propres bibliothèques dans Python et il existe un certain nombre de préexistants (sélénium, - autoit , telnet, ssh, swing, etc.) qui permettent Vous devez conduire toutes sortes de choses qui sont très puissantes si vous êtes dans un environnement mixte.
Il est piloté par mot-clé afin que vous puissiez créer de nouveaux mots-clés et donc abstrait des tâches répétitives abstraites et a même un IDE qui est activement développé qui permet de fournir des refactorings simples.
Je travaille sur des routines de LISP courantes pour vous aider à aider au script, mais cela n'est pas aussi facilement originau à cette tâche que Perl.
J'ai eu le même problème d'utiliser plusieurs langues pour différents types d'automatisation. Je suis un consultant principal pour une société informatique en Inde. Chaque fois que je consulte un autre
langue à cet effet, J'ai eu du mal à la justifier à la direction. J'ai même discuté avec mes amis (en tant que discussion occasionnelle) de développer une langue unifiée qui répondent à tous les besoins d'automatisation et à la plate-forme continue. Si on est disponible, alors il peut
changer le monde du script. Autant que je sache, la cartographie que nous utilisons habituellement va
AutoIt - Automatisation GUI Automatisation basée sur Windows Bash - UNIX Automatisation implique principalement une interaction système Perl - Automatisation de traitement de données avec moins d'interaction système Attendez-vous - Exigences interactives basées sur le caractère. (qui ne peut pas être résolu par Perl, Bash) VBS - Script basé sur des fenêtres
Toute automatisation accompagne toujours une ou plusieurs invocation à distance pour la récupération d'informations ou la publication de résultats. Voici la liste différente adressant le grand système d'exploitation.
psexec, PowerShell
plink, quête PLINK -> SSH Server
Client SSH -> SSH Server
winexe, WMIC -> Agent WMI Check_NRPE -> NRPE_NT Agent
Dans la liste ci-dessus, vous pouvez facilement distinguer qu'aucune langue ne peut remplacer un autre ensemble de fonctions. Nous devons vivre avec ceux jusqu'à ce que nous ayons un système d'exploitation universel et un niveau universel de protocoles de communication et d'API.
Pour Windows, je recommande fortement AutoIt (http://autoitscript.com). Assurez-vous d'installer le package SCITE à partir de la section Téléchargements.
http://autoitscript.com/forum Une excellente ressource pour obtenir de l'aide et la recherche d'UDF à inclure dans les scripts.
AutoIt est capable de contrôler les fenêtres d'application et les contrôles permettant d'automatiser à peu près n'importe quoi. Cela ne nécessite également aucune dépendance après votre compilation de votre exécution.