面倒な手動タスクを自動化するための最良の言語またはツール[終了]


9

私たちには、手動で行うよりもスクリプトや自動化のほうが得策だと思うタスクが時々発生します。

明らかに、一部のツールや言語は他のツールよりもこれに優れています。たとえば、PMがアセンブラーで指定した一連のテキストリストを相互参照するという1回限りの作業を誰も(正しい心で)行っている人はいません。

(エレガンスではなく)時間が重要な場合に、一般的な迅速で汚れた仕事に求められる種類のツールまたは言語はどれですか。

背景:私は元プログラマーで、現在は開発マネージャーのPMです。新しい言語を楽しく学ぼうとしています。何か楽しいことを学ぶつもりなら、それが役に立つものになりたいと思います。この種のユースケースが最も可能性が高いです。


これはサードパーティのソフトウェアwinautomation.comです
PradeepGB

3
以下のさまざまな答えからわかるように、最善の解決策は、何を達成したいか、およびどの環境であるかによって異なります。
マークC

@Mark-それはありがたいですが、できるだけ一般的なアプリケーションを持つ1つのことを学ぶのが理想的です。
ジョンホプキンス

あなたがすべてをしたいのであれば、私はあなたが少なくとも2-3のプログラムを必要とすると思う。Linux、Windows、MacOS?コード、ファイルシステム、アプリケーションマクロ?
マークC

回答:


25

パイソン

明白な答え(そして正当な理由がある)はPythonです。その堅固な言語、利用可能なクロスプラットフォーム。動的であるため、インタラクティブに実行できます。これは、物事をまとめるのに最適です。また、ライブラリの選択肢が非常に多いため、ほとんどの問題に適用できる汎用言語です。


それが美しさです。「スクリプト」言語と「プログラミング」言語をまったく別の動物と考えるのは、Pythonがある場合はかなり時代遅れです。
Joonas Pulakka 2010年

Ish、Powershellの重要な点の1つはパイプライン化です-それがPythonでどれほど実現可能か(一般的には少なくとも)わかりません
Murph

+ 1、Pythonは私の多目的スクリプト言語の中で最も優れたものとして投票を獲得します。
Josh K

+1ここでも同じですが、Pythonはすべてではないにしてもほとんどのプラットフォームで動作し、実際にいくつかのコードをハッキングするためのより優れた「スクリプト」言語です。
Georges Duplessy、2010年


12

Autoitは無敵です。言語を備えたツールです。

  • BASICに似た構文を簡単に学習
  • キーストロークとマウスの動きをシミュレートする
  • ウィンドウとプロセスを操作する
  • すべての標準的なウィンドウコントロールを操作する
  • スクリプトはスタンドアロンの実行可能ファイルにコンパイルできます
  • グラフィカルユーザーインターフェイス(GUI)の作成
  • COMサポート
  • 正規表現
  • 外部DLLおよびWindows API関数を直接呼び出す
  • スクリプト可能なRunAs関数
  • 詳細なヘルプファイルと大規模なコミュニティベースのサポートフォーラム
  • Windows 2000 / XP / 2003 / Vista / 2008 / Windows 7/2008 R2に対応
  • Unicodeおよびx64のサポート
  • 安心のためのデジタル署名
  • Windows Vistaのユーザーアカウント制御(UAC)と連携

8

AutoHotKey

AutoHotkeyは、Windows用の無料のオープンソースユーティリティです。それを使用すると、次のことができます。

  1. とてもフレンドリーで親切なコミュニティ。
  2. Cのような構文。
  3. キーストロークとマウスクリックを送信することで、ほとんどすべてを自動化します。
  4. マウスマクロまたはキーボードマクロを手動で作成するか、マクロレコーダーを使用できます。
  5. キーボード、ジョイスティック、マウスのホットキーを作成します。事実上すべてのキー、ボタン、またはその組み合わせがホットキーになる可能性があります。
  6. ウィンドウとプロセスを操作します。
  7. すべての標準的なウィンドウコントロールを操作します。
  8. 入力しながら略語を展開します。たとえば、「btw」と入力すると、自動的に「途中」が生成されます。
  9. カスタムデータ入力フォーム、ユーザーインターフェイス、およびメニューバーを作成します。詳細については、GUIを参照してください。
  10. キーボード、ジョイスティック、マウスのキーとボタンを再マッピングします。
  11. グラフィカルユーザーインターフェイス(GUI)を作成します。
  12. COMサポート。
  13. 正規表現。
  14. 外部DLLおよびWindows API関数を直接呼び出します。
  15. Unicode、x32およびx64のサポート。
  16. WinLIRCクライアントスクリプトを介してハンドヘルドリモートコントロールからの信号に応答します。
  17. AutoHotkeyがインストールされていないコンピューターで実行できるEXEファイルにスクリプトを変換します。

http://ahkscript.org/

このツールを使用することで、いくつかの企業に多額のお金を節約しました。


7

Perl

Perlは、私にとって、迅速かつ汚い定義です。

Perlは無限に柔軟で、長所と短所があります。構造を強制することはありませんが、必要に応じて存在します。すべてのライブラリがあります。20年間広く使用されています。処理するコードは山ほどあります。


3
Perlはもっと早く登場すると思いました。私はPerlに触れたことがあるので、Perlだと考えていましたが、読むたびに漂白剤で目をこすり洗いしたくなるだけです。 $=; $ _ = \%!; $ _)= /(。)/; $ == ++ $ |;($。、$ /、$ ,, $ \、$ "、$;、$ ^、$#、$〜、$ *、$ :、@%)=($!=〜/(。)(。)。(。)(。)(。)(。)..(。)(。)(。)..(。)... ....)/、$ ")、$ = ++; $。++; $。++; $ _ ++; $ _ ++;($ _、$ \、$、)=($〜 。$ "。" $; $ / $%[$?] $ _ $ \ $、$:$%[$?] "、$"&$〜、$#、); $、++; $、+ +; $ ^ | = $ "; $_$\$,$/$:$;$~$*$%[$?]$.$~$*${#}$%[$?]$;$\$"$^$~$*.>&$=(これは実際のPerlです-明らかに故意に悪いPerlです-読んでいない人のためにです)
Jon Hopkins

1
@ジョンそれがここになかったので、私はほとんどそれを追加しました。私はそれがかなり厄介になる可能性があることに同意します、それはあなたにいかなる規律も強制しません、あなたはあなた自身のものを持っている必要があります。それが迅速で汚いスクリプト作成に使用される時間の大部分を考慮すると、目に見えるものが得られます。
スティーブジャクソン

2
うん-そして、Perlはその煩雑さを非難されるべきではありません。それはプログラマの責任です。その上、あなたのプログラミング言語があなたに良いコードを書くことだけを許すなら、あなたはそうすることに対する信用を得ません...
ジョン・ホプキンス

1
私はPerlが現在現存する最高のスクリプト言語だと思います-独断ではなく、グリップすることなく必要なことを行うことができます。
ポールネイサン

6

パワーシェル

これはPythonよりも一般的ではありませんが、Windows環境に存在する場合は、おそらくそれがより便利になるでしょう。

Pythonよりもシェル/スクリプトの方が(それがそうであるので)ですが、.NETフレームワークにフックして、非常に並外れた機能の深さを提供できます。また、幅広いコミュニティサポートも提供しています。

Microsoftは(したがって、「より便利に」)は、そのサーバ製品にPowerShellを追加忙しくしているとあなたがスクリプトを実行できるようにするリモーティング導入している、あなたのコンソールからここに


5
コメントせずに反対票を投じた明るい火花は説明していただけますか?ありがとう。
Murph、2010年

5

現代のUNIXシェル。たとえばbashです。


もちろん、それをネイティブでサポートする環境で実行している(または、Powershellを最新のUNIXシェル(-:)と同等と見なす)
Murph

3

elisp、もしあなたが豊富なタスクを見たなら、それはその基盤となるプラットフォームEmacsを通して達成するために使われます。Emacsは、本格的なウィンドウマネージャー、IDE、Office、ブラウザー、電子メールクライアント、チャットクライアント、シェル、ファイルシステムエクスプローラーなどのすべての機能を回避できます。そのほとんどはelispプログラムを通じて実現されます。


1

一部のタスクでは、アクションが適している場合があります。

これには一種のフローチャート作成プロセスがあり、追加actionsして順次実行することができます。新しいactionsは、Javaで記述できます。

免責事項:まだ使用していません。


1

複雑な自動化には、Robot Frameworkを使用することをお勧めします。このフレームワークは主に自動テストを目的としていますが、一般的な自動化にも使用できます。

独自のライブラリをPythonで簡単に作成でき、既存のライブラリ(セレン、AutoIt、telnet、ssh、swingなど)が多数あるため、あらゆる種類のことを実行でき、非常に強力です混合環境。

これはキーワード駆動型なので、新しいキーワードを作成して、繰り返しのタスクを抽象化できます。また、いくつかの単純なリファクタリングを可能にするアクティブに開発されているIDEさえ備えています。


1
  • Windowsでの自動化のためのTestCompleteのような私の組織のGUI担当者。
  • CLIスクリプトの場合、約90%のPerlと10%のBash

私はスクリプト作成を支援するためにいくつかのCommon Lispルーチンを一緒にロールすることに取り組んできましたが、Perlほど簡単にそのタスクにネイティブではありません。


0

Windowsの場合は、AutoIt(http://autoitscript.com)を強くお勧めします。ダウンロードセクションからSciteパッケージをインストールしてください。

http://autoitscript.com/forumは、ヘルプを取得し、スクリプトに含めるUDFの機能を見つけるための優れたリソースです。

AutoItは、アプリケーションウィンドウとコントロールを制御して、ほぼすべてを自動化できます。また、実行可能ファイルをコンパイルした後、依存関係は必要ありません。


0

自動化の異なるセットに複数の言語を使用するという同じ問題がありました。私はインドのITサービス会社の上級コンサルタントです。別の人に相談するたびに

目的のための言語、私はそれを経営陣に正当化するのに苦労しました。すべての自動化ニーズに対応し、なおかつクロスプラットフォームである統一言語の開発について、友人と(カジュアルな話として)話し合いさえしました。利用できる場合は、

スクリプトの世界を変える。私の知る限り、通常使用するマッピングは

言語と使用ドメイン

AutoIT-WindowsベースのGUIオートメーションBash-Unixベースのオートメーションは、ほとんどがシステムの相互作用を伴いますPerl-システムの相互作用が少ないデータ処理のオートメーション期待-文字ベースのインタラクティブな要件。(Perl、Bashでは解決できません)VBS-Windowsベースのスクリプト

オートメーションは常に、情報の取得または結果の公開のために、1つ以上のリモート呼び出しを伴います。主なOSに対応する別のリストを次に示します。

リモートスクリプト呼び出し(ツール)

ウィンドウ->ウィンドウ

psexec、Powershell

Windows-> Unix

plink、Quest Plink-> SSHサーバー

Unix-> Unix

SSHクライアント-> SSHサーバー

Unix-> Windows

winexe、wmic-> WMIエージェントcheck_nrpe-> NRPE_NTエージェント

上記のリストでは、機能セットの中で他の言語を置き換えることができないことを簡単に理解できます。私たちは、1つのユニバーサルOSと、通信プロトコルとAPIのユニバーサルスタンダードができるまで、それらに共存する必要があります。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.