web-dev-qa-db-fra.com

Meilleure langue ou outil pour automatiser les tâches manuelles fastidieuses

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.

9
Jon Hopkins

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.

25
Murph

autoit est imbattable. C'est un outil avec une langue.

  • Facile à apprendre la syntaxe de base en forme de base
  • Simuler les touches de frappe et les mouvements de la souris
  • Manipuler des fenêtres et des processus
  • Interagir avec tous les contrôles Windows standard
  • Les scripts peuvent être compilés dans des exécutables autonomes
  • Créer des interfaces utilisateur graphiques (GIIS)
  • Comprends com
  • Expressions régulières
  • Appelez directement externe DLL et Fonctions de l'API Windows
  • Fonctions de runs scriptables
  • Helpfile détaillé et grands forums de soutien communautaire
  • Compatible avec Windows 2000/XP/2003/Vista/2008/Windows 7/2008 R2
  • Soutien Unicode et X64
  • Signé numériquement pour la tranquillité d'esprit
  • Fonctionne avec le contrôle de compte d'utilisateur de Windows Vista (UAC)
12
Maniero

Autohotkey

Autohotkey est un utilitaire gratuit et open-source pour Windows. Avec ça, tu peux:

  1. Communauté très sympathique et serviable.
  2. C comme la syntaxe.
  3. Automatisez presque n'importe quoi en envoyant des clics de frappe et de souris.
  4. Vous pouvez écrire une macro de souris ou de clavier à la main ou utilisez l'enregistreur de macro.
  5. Créez des raccourcis pour le clavier, le joystick et la souris. Pratiquement n'importe quelle clé, bouton ou combinaison peut devenir une touche de raccourci.
  6. Manipuler les fenêtres et les processus.
  7. Interagissez avec tous les contrôles Windows standard.
  8. Développez les abréviations lorsque vous les tapez. Par exemple, la frappe "BTW" peut produire automatiquement "d'ailleurs".
  9. Créez des formulaires de saisie de données personnalisés, des interfaces utilisateur et des barres de menu. Voir GUI pour plus de détails.
  10. Touches de remappage et boutons de votre clavier, joystick et souris.
  11. Créez des interfaces utilisateur graphiques (GIIS).
  12. Com support com.
  13. Expressions régulières.
  14. Appelez directement externe DLL et Fonctions de l'API Windows.
  15. Soutien UNICODE, X32 et X64.
  16. Répondez aux signaux des télécommandes à la main via le script client WinLIRC.
  17. Convertissez tout script en un fichier EXE pouvant être exécuté sur des ordinateurs qui ne disposent pas d'Autohotkey installé.

http://ahkscript.org/

J'ai sauvé plusieurs entreprises une grosse somme d'argent en utilisant cet outil.

8
Fosco

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.

7
Steve Jackson

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 .

6
Murph

Une coquille unix moderne. Par exemple. frapper.

5
Conor

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.

3
vpit3833

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.

1
Alan Pearce

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.

1
FinnNk
  • Les guidiques de mon organisation comme testComplete pour l'automatisation dans Windows.
  • Pour les scripts CLI, environ 90% PERL et 10% BASH

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.

1
Paul Nathan

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

Langues et domaine d'utilisation

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.

Invocation de script distant (outils)

Windows -> Windows

psexec, PowerShell

Windows -> Unix

plink, quête PLINK -> SSH Server

UNIX -> UNIX

Client SSH -> SSH Server

UNIX -> Windows

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.

0
mkriz

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.

0
SiliconChaos