ภาษาหรือเครื่องมือที่ดีที่สุดสำหรับการทำงานด้วยตนเองโดยอัตโนมัติที่น่าเบื่อ [ปิด]


9

เราทุกคนมีงานที่เกิดขึ้นเป็นครั้งคราวซึ่งเราคิดว่าเราน่าจะดีกว่าการเขียนสคริปต์หรือทำงานอัตโนมัติกว่าทำด้วยตนเอง

เห็นได้ชัดว่ามีเครื่องมือหรือภาษาบางอย่างที่ดีกว่าสิ่งนี้ - ไม่มีใคร (ในใจที่ถูกต้อง) กำลังทำสิ่งที่ไม่เหมาะสมในการอ้างถึงกลุ่มข้อความที่ PM ได้ให้ไว้ในแอสเซมเบลอร์

คุณจะแนะนำเครื่องมือหรือภาษาใดสำหรับงานทั่วไปที่รวดเร็วและสกปรกที่คุณถูกขอให้ทำโดยที่เวลา (แทนที่จะเป็นความสง่างาม) เป็นสิ่งสำคัญ?

ความเป็นมา: ฉันเป็นอดีตโปรแกรมเมอร์ปัจจุบันเป็นผู้จัดการฝ่ายพัฒนา PM กำลังมองหาเรียนภาษาใหม่เพื่อความสนุกสนาน ถ้าฉันจะเรียนรู้บางอย่างเพื่อความสนุกฉันอยากให้มันมีประโยชน์และกรณีการใช้แบบนี้น่าจะเกิดขึ้นมากที่สุด


นี่คือซอฟต์แวร์บุคคลที่สามwinautomation.com
PradeepGB

3
ดังที่คุณสามารถบอกได้ด้วยคำตอบที่หลากหลายด้านล่างทางออกที่ดีที่สุดนั้นขึ้นอยู่กับสิ่งที่คุณต้องการทำให้สำเร็จและในสภาพแวดล้อมแบบใด
ทำเครื่องหมาย C

@ Mark - ฉันขอขอบคุณ แต่ฉันกำลังมองหาสิ่งที่มีแอปพลิเคชั่นทั่วไปที่สุด
Jon Hopkins

ถ้าคุณต้องการทำทุกอย่างฉันคิดว่าคุณต้องมีอย่างน้อย 2-3 โปรแกรม Linux, Windows, MacOS หรือไม่ รหัสระบบไฟล์แมโครแอปพลิเคชัน?
ทำเครื่องหมาย C

คำตอบ:


25

หลาม

คำตอบที่ชัดเจน (และด้วยเหตุผลที่ดี) คือ Python มันเป็นภาษาที่มั่นคงพร้อมข้ามแพลตฟอร์ม เป็นแบบไดนามิกคุณสามารถเรียกใช้มันโต้ตอบซึ่งเหมาะสำหรับการรวมสิ่งต่าง ๆ เข้าด้วยกันและมีห้องสมุดให้เลือกมากมายพอสมควรดังนั้นภาษาวัตถุประสงค์ทั่วไปจึงสามารถนำไปใช้กับปัญหาส่วนใหญ่ได้


นั่นคือความงาม การคิดถึงภาษา "สคริปต์" และ "การเขียนโปรแกรม" เนื่องจากสัตว์ที่แตกต่างกันโดยสิ้นเชิงนั้นค่อนข้างล้าสมัยเมื่อมี Python
Joonas Pulakka

อิหนึ่งในสิ่งที่สำคัญในการ PowerShell เป็น pipelining - ไม่แน่ใจว่าเป็นไปได้ที่มีอยู่ในหลาม (โดยทั่วไปอย่างน้อย)
Murph

+1, Python ได้รับคะแนนของฉันเป็นภาษาสคริปต์อเนกประสงค์ที่ดีที่สุด
Josh K

+1 เหมือนกันที่นี่ python ทำงานได้ดีที่สุดหากไม่ใช่ทุกแพลตฟอร์มและเป็นภาษา "scripting" ที่ดีกว่าสำหรับการแฮ็คโค้ดเข้าด้วยกัน
Georges Duplessy


12

Autoitไม่สามารถเอาชนะได้ มันเป็นเครื่องมือที่มีภาษา

  • ง่ายต่อการเรียนรู้ไวยากรณ์เหมือนพื้นฐาน
  • จำลองการกดแป้นและการเคลื่อนไหวของเมาส์
  • จัดการหน้าต่างและกระบวนการ
  • โต้ตอบกับตัวควบคุม windows มาตรฐานทั้งหมด
  • สามารถรวบรวมสคริปต์เป็นไฟล์เรียกทำงานแบบสแตนด์อโลน
  • สร้างอินเทอร์เฟซผู้ใช้แบบกราฟิก (GUIs)
  • รองรับ COM
  • นิพจน์ทั่วไป
  • เรียกใช้ฟังก์ชัน DLL API ของ Windows โดยตรง
  • ฟังก์ชัน RunAs แบบสคริปต์ได้
  • helpfile โดยละเอียดและฟอรัมสนับสนุนชุมชนขนาดใหญ่
  • เข้ากันได้กับ 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. โต้ตอบกับตัวควบคุม windows มาตรฐานทั้งหมด
  8. ขยายคำย่อในขณะที่คุณพิมพ์ ตัวอย่างเช่นการพิมพ์ "btw" สามารถสร้าง "โดยวิธี" โดยอัตโนมัติ
  9. สร้างฟอร์มป้อนข้อมูลแบบกำหนดเองส่วนต่อประสานผู้ใช้และแถบเมนู ดู GUI สำหรับรายละเอียด
  10. ทำการแมปปุ่มและปุ่มต่าง ๆ บนคีย์บอร์ดจอยสติ๊กและเมาส์
  11. สร้างอินเทอร์เฟซผู้ใช้แบบกราฟิก (GUIs)
  12. รองรับ COM
  13. นิพจน์ทั่วไป
  14. เรียกใช้ฟังก์ชัน DLL API ของ Windows โดยตรง
  15. รองรับ Unicode, x32 และ x64
  16. ตอบสนองต่อสัญญาณจากการควบคุมระยะไกลมือถือผ่านสคริปต์ไคลเอนต์ WinLIRC
  17. แปลงสคริปต์ใด ๆ ให้เป็นไฟล์ EXE ที่สามารถเรียกใช้บนคอมพิวเตอร์ที่ไม่ได้ติดตั้ง AutoHotkey

http://ahkscript.org/

ฉันได้ประหยัดเงินจำนวนมากโดยใช้เครื่องมือนี้


7

Perl

Perl สวยมากนิยามของฉันอย่างรวดเร็วและสกปรก

Perl มีความยืดหยุ่นอนันต์ซึ่งเป็นจุดแข็งและจุดอ่อน มันไม่ได้บังคับโครงสร้างของคุณ แต่มันมีอยู่ถ้าคุณต้องการ มันมีห้องสมุดสำหรับทุกสิ่ง มันถูกใช้อย่างกว้างขวางเป็นเวลา 20 ปี มีโค้ดให้ใช้งานมากมาย


3
ฉันคิดว่า Perl จะมาเร็วกว่ามาก ฉันถือว่า Perl เพราะฉันผ่านการสัมผัสมาแล้ว แต่มันทำให้ฉันอยากขัดตาด้วยน้ำยาฟอกขาวทุกครั้งที่ฉันอ่าน $=; $ _ = \% !; _ $) = / () /; $ == ++ $ |.. ($, $ / $ ,, $ \ $", $;, $ ^ $ # $ ~ $ * $ : (.). (.) (.) (.) (.) (.) (.) (.) (.) @%) = (!. $ = ~ / () .. .. ... .... ) / $ "), $ = ++; $ ++. $ ++. _ $ ++; $ _ ++ ($ _ $ \, $,) = ($ ~ . " "$ $; $ / $% [? $] _ $ $ \ $, $: $% [$?]" $" & $ ~ $ #); $ ++; $ + +; $ ^ | = $ "; $_$\$,$/$:$;$~$*$%[$?]$.$~$*${#}$%[$?]$;$\$"$^$~$*.>&$=(นั่นคือ Perl จริง - ยอมรับ Perl เลวร้าย - สำหรับผู้ที่ไม่ได้อ่าน)
Jon Hopkins

1
@ จอนฉันมักจะเพิ่มเพราะมันไม่ได้อยู่ที่นี่ ฉันเห็นด้วยว่ามันอาจยุ่งเหยิงไม่ได้บังคับใช้วินัยใด ๆ กับคุณคุณต้องนำมาเอง เมื่อพิจารณาถึงเวลาส่วนใหญ่ที่ใช้ในการเขียนสคริปต์ที่รวดเร็วและสกปรกคุณจะได้รับสิ่งที่คุณเห็น
Steve Jackson

2
ใช่ - และ Perl ไม่ควรถูกตำหนิเพราะความยุ่งเหยิงนั่นเป็นเรื่องที่โปรแกรมเมอร์ นอกจากนี้หากภาษาการเขียนโปรแกรมของคุณอนุญาตให้คุณเขียนโค้ดที่ดีเท่านั้นคุณก็จะไม่ได้รับเครดิตในการทำเช่นนั้น ...
Jon Hopkins

1
ฉันคิดว่า Perl เป็นภาษาสคริปต์ที่ดีที่สุดในขณะนี้ - มันไม่ได้มีความคิดเห็นและให้ทำสิ่งที่คุณต้องทำโดยไม่ต้องจับ
พอลนาธาน

6

Powershell

นี่เป็นเรื่องธรรมดาน้อยกว่า Python - แต่ถ้าคุณอยู่ในสภาพแวดล้อมของ Windows มันอาจจะมีประโยชน์มากกว่า

มันมีเชลล์ / สคริปต์มากกว่า Python (เพราะมันคืออะไร) แต่มันสามารถเชื่อมโยงเข้ากับ. NET Framework ซึ่งให้ความสามารถในเชิงลึกที่ไม่ธรรมดา นอกจากนี้ยังมีการสนับสนุนชุมชนในวงกว้าง

ไมโครซอฟท์ได้รับการว่างเพิ่ม PowerShell เพื่อผลิตภัณฑ์เซิร์ฟเวอร์ของพวกเขา (เพราะฉะนั้น "มีประโยชน์มากขึ้น") และได้นำระยะไกลเพื่อให้คุณสามารถเรียกใช้สคริปต์มีจากคอนโซลของคุณที่นี่


5
จุดประกายที่สว่างไสวที่สามารถถูกลดระดับลงโดยไม่แสดงความคิดเห็นได้โปรดอธิบายตัวเองได้ไหม ขอบคุณ
Murph

5

เปลือกยูนิกซ์ที่ทันสมัย เช่นทุบตี


สมมติว่าคุณกำลังทำงานในสภาพแวดล้อมที่สนับสนุนโดยกำเนิด (หรือคุณนับ PowerShell เทียบเท่ากับเชลล์ unix ที่ทันสมัย ​​(- :)
Murph

3

ยิ่งถ้าคุณได้เห็นความมั่งคั่งของงานมันถูกใช้เพื่อให้บรรลุผ่านแพลตฟอร์มพื้นฐานของ Emacs Emacs สามารถละทิ้งการทำงานทั้งหมดของตัวจัดการหน้าต่างแบบเต็มเป่า, IDE, Office, เบราว์เซอร์, ไคลเอนต์อีเมล, แชทไคลเอนต์, เชลล์, ระบบไฟล์ explorer และอื่น ๆ ส่วนใหญ่จะทำได้ผ่านโปรแกรม elisp


1

สำหรับงานบางอย่างการกระทำอาจเหมาะสม

มีกระบวนการจัดเรียงลำดับแบบเรียงลำดับซึ่งคุณสามารถเพิ่มactionsให้เรียกใช้ตามลำดับได้ ใหม่actionsสามารถเขียนได้ใน java

ข้อจำกัดความรับผิดชอบ: ฉันยังไม่ได้ใช้


1

สำหรับระบบอัตโนมัติที่ซับซ้อนคุณอาจต้องการที่จะใช้หุ่นยนต์กรอบ เฟรมเวิร์กส่วนใหญ่มีวัตถุประสงค์เพื่อทดสอบอัตโนมัติ แต่ยังสามารถใช้สำหรับระบบอัตโนมัติทั่วไป

คุณสามารถเขียนไลบรารี่ของคุณเองใน Python ได้อย่างง่ายดายและมีจำนวนของสิ่งที่มีอยู่แล้ว (ซีลีเนียม, AutoIt , telnet, ssh, swing, ฯลฯ ) ซึ่งช่วยให้คุณขับสิ่งต่าง ๆ ที่มีประสิทธิภาพมากถ้าคุณอยู่ใน สภาพแวดล้อมแบบผสม

มันเป็นคำหลักที่ขับเคลื่อนด้วยเพื่อให้คุณสามารถสร้างคำหลักใหม่และทำให้งานที่ทำซ้ำ ๆ เป็นนามธรรมและแม้กระทั่งมี IDE ซึ่งได้รับการพัฒนาอย่างแข็งขันที่ช่วยให้ refactorings ง่าย ๆ


1
  • พวก GUI ในองค์กรของฉันอย่าง TestComplete สำหรับระบบอัตโนมัติใน Windows
  • สำหรับการเขียนสคริปต์ CLI ประมาณ 90% Perl และ 10% Bash

ฉันได้ทำงานร่วมกับ Common LISP บางส่วนเพื่อช่วยในการเขียนสคริปต์ แต่มันก็ไม่ได้ง่ายเหมือนภาษา Perl


0

สำหรับ windows ฉันขอแนะนำ AutoIt (http://autoitscript.com) ตรวจสอบให้แน่ใจว่าติดตั้งแพคเกจ Scite จากส่วนดาวน์โหลด

http://autoitscript.com/forumเป็นแหล่งข้อมูลที่ยอดเยี่ยมสำหรับการขอความช่วยเหลือและค้นหาฟังก์ชันของ UDF เพื่อรวมไว้ในสคริปต์

AutoIt สามารถควบคุมหน้าต่างแอปพลิเคชันและการควบคุมที่อนุญาตให้คุณทำอะไรก็ได้โดยอัตโนมัติ นอกจากนี้ยังไม่จำเป็นต้องพึ่งพาหลังจากที่คุณรวบรวมคุณปฏิบัติการ


0

ฉันมีปัญหาเดียวกันกับการใช้หลายภาษาสำหรับชุดอัตโนมัติที่แตกต่างกัน ฉันเป็นที่ปรึกษาอาวุโสของ บริษัท ให้บริการด้านไอทีในอินเดีย ทุกครั้งที่ฉันปรึกษาที่แตกต่างกัน

ภาษาสำหรับจุดประสงค์ฉันมีเวลายากที่จะพิสูจน์ให้ฝ่ายบริหารทราบ ฉันได้พูดคุยกับเพื่อนของฉัน (เป็นการพูดคุยทั่วไป) เกี่ยวกับการพัฒนาภาษาแบบครบวงจรที่ตอบสนองทุกความต้องการระบบอัตโนมัติและยังคงข้ามแพลตฟอร์ม หากมีอยู่ก็อาจ

เปลี่ยนโลกแห่งสคริปต์ เท่าที่ฉันรู้การทำแผนที่เรามักจะใช้ไป

ภาษาและโดเมนการใช้งาน

AutoIT - GUI อัตโนมัติที่ใช้ Windows ทุบตี - ระบบอัตโนมัติที่ใช้ Unix ส่วนใหญ่เกี่ยวข้องกับการโต้ตอบของระบบ Perl - การประมวลผลข้อมูลอัตโนมัติพร้อมการโต้ตอบของระบบน้อยกว่าคาดหวัง - ความต้องการแบบโต้ตอบตามตัวละคร (ซึ่งไม่สามารถแก้ไขได้โดย Perl, Bash) VBS - การเขียนสคริปต์ด้วย Windows

การทำงานอัตโนมัติใด ๆ มาพร้อมกับการเรียกใช้รีโมตตั้งแต่หนึ่งรายการขึ้นไปเสมอสำหรับการดึงข้อมูลหรือการเผยแพร่ผลลัพธ์ นี่คือรายการที่แตกต่างที่อยู่ระบบปฏิบัติการที่สำคัญ

การเรียกใช้สคริปต์ระยะไกล (เครื่องมือ)

Windows -> Windows

psexec, Powershell

Windows -> Unix

plink, Quest Plink -> เซิร์ฟเวอร์ SSH

Unix -> Unix

ไคลเอ็นต์ SSH -> เซิร์ฟเวอร์ SSH

Unix -> Windows

winexe, wmic -> WMI Agent check_nrpe -> ตัวแทน NRPE_NT

ในรายการด้านบนคุณสามารถระบุได้อย่างง่ายดายว่าไม่มีภาษาใดสามารถแทนที่ภาษาอื่นในชุดคุณลักษณะได้ เราจะอยู่กับพวกนั้นจนกว่าเราจะมี OS สากลหนึ่งระบบและโปรโตคอลสื่อสารและ API มาตรฐานสากล


-2

งูหลามเป็นที่ดีสำหรับการนี้และมีการติดตั้งขนาดใหญ่ฐานและทับทิมไม่ดีใด ๆ ยกเว้นมีทำไมคู่มือสาหัสเพื่อทับทิม จิ้งจอกการ์ตูนอย่างจริงจัง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.