지루한 수동 작업을 자동화하기위한 최고의 언어 또는 도구 [닫기]


9

우리 모두는 수동으로하는 것보다 스크립팅이나 자동화가 더 낫다고 생각되는 작업을 수시로 가지고 있습니다.

분명히 어떤 도구 나 언어가 다른 도구보다 이보다 더 낫습니다. 아무도 자신의 PM이 예를 들어 어셈블러에서 제공 한 많은 텍스트 목록을 상호 참조하는 일을하지 않습니다.

우아함이 아닌 시간이 중요한 장소에서 수행해야 할 일반적인 빠르고 더러운 작업에 대해 어떤 도구 나 언어를 추천 하시겠습니까?

배경 : 저는 전 프로그래머이자 현재 개발 관리자 PM이며 새로운 언어를 배우려고합니다. 재미있는 것을 배우려면 유용하고 싶습니다.이 유스 케이스가 가장 많이 등장합니다.


이것은 타사 소프트웨어 winautomation.com
PradeepGB

3
아래의 다양한 답변으로 알 수 있듯이 최상의 솔루션은 정확히 달성하려는 환경과 환경에 따라 다릅니다.
Mark C

@ Mark-감사합니다.하지만 가능한 한 일반적인 응용 프로그램을 가진 것을 배우는 것이 이상적입니다.
존 홉킨스

모든 것을 하고 싶다면 적어도 2-3 개의 프로그램이 필요하다고 생각합니다. 리눅스, 윈도우, 맥 OS? 코드, 파일 시스템, 응용 프로그램 매크로?
Mark C

답변:


25

파이썬

확실한 대답은 (그리고 정당한 이유가있는) 파이썬입니다. 견고한 언어, 사용 가능한 크로스 플랫폼. 역동적으로 대화식으로 실행할 수 있으며, 함께 물건을 묶는 데 유용하며 라이브러리가 상당히 다양하므로 범용 언어가 대부분의 문제에 적용될 수 있습니다.


그게 아름다움입니다. "스크립트"와 "프로그래밍"언어를 완전히 다른 동물로 생각하는 것은 파이썬이있을 때 거의 쓸모가 없습니다.
Joonas Pulakka

Ish, powershell의 핵심 사항 중 하나는 파이프 라이닝입니다. 파이썬에서 이것이 가능한지 확실하지 않습니다 (일반적으로)
Murph

+1, 파이썬은 다목적 스크립팅 언어와 관련하여 최고의 투표를 받았습니다.
Josh K

+1 여기서도 파이썬은 대부분의 플랫폼에서 작동하지는 않지만 대부분의 코드를 함께 해킹하는 데 더 나은 "스크립트"언어입니다.
Georges Duplessy


12

Autoit 은 타의 추종을 불허합니다. 언어가 포함 된 도구입니다.

  • 배우기 쉬운 기본 문법
  • 키 스트로크 및 마우스 움직임 시뮬레이션
  • 창과 프로세스 조작
  • 모든 표준 윈도우 컨트롤과 상호 작용
  • 스크립트를 독립형 실행 파일로 컴파일 할 수 있습니다
  • 그래픽 사용자 인터페이스 (GUI) 생성
  • COM 지원
  • 정규식
  • 외부 DLL 및 Windows API 함수를 직접 호출
  • 스크립트 가능한 RunAs 기능
  • 자세한 도움말 파일 및 대규모 커뮤니티 기반 지원 포럼
  • Windows 2000 / XP / 2003 / Vista / 2008 / Windows 7/2008 R2와 호환
  • 유니 코드 및 x64 지원
  • 마음의 평화를 위해 디지털 서명
  • Windows Vista의 UAC (사용자 계정 컨트롤)와 호환

8

오토 핫키

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. 유니 코드, x32 및 x64 지원
  16. WinLIRC 클라이언트 스크립트를 통해 휴대용 리모컨의 신호에 응답하십시오.
  17. AutoHotkey가 설치되지 않은 컴퓨터에서 실행할 수있는 EXE 파일로 스크립트를 변환하십시오.

http://ahkscript.org/

이 도구를 사용하여 여러 회사에서 많은 돈을 절약했습니다.


7

Perl은 빠르고 더러운 정의입니다.

Perl은 무한대로 유연하며 강점과 약점입니다. 그것은 당신에게 구조를 강요하지 않지만, 원한다면 거기에 있습니다. 모든 것을위한 라이브러리가 있습니다. 20 년 동안 광범위하게 사용되었습니다. 작업 할 코드가 많이 있습니다.


3
나는 펄이 더 빨리 올 것이라고 생각했다. 나는 그것에 노출을 통과하면서 Perl을 고려했지만 그것을 읽을 때마다 표백제로 눈을 닦고 싶습니다. $=; $ _ = \ % !; $ _) = / (.) /; $ == ++ $ |; ($., $ /, $ ,, $ \, $ ", $;, $ ^, $ #, $ ~, $ *, $ :, @ %) = ($! = ~ / (.) (.). (.) (.) (.) (.) .. (.) (.) (.) .. (.) ... ....) /, $ "), $ = ++; $. ++; $. ++; $ _ ++; $ _ ++; ($ _, $ \, $,) = ($ ~ . $ "."$; $ / $ % [$?] $ _ $ \ $, $ : $ % [$?] ", $"& $ ~, $ #,); $, ++; $, + +; $ ^ | = $ "; $_$\$,$/$:$;$~$*$%[$?]$.$~$*${#}$%[$?]$;$\$"$^$~$*.>&$=(실제로 Perl-의도적으로 고의적으로 나쁜 Perl입니다 – 읽지 않은 사람들을위한 것입니다.)
Jon Hopkins

1
@ Jon 여기에 없기 때문에 주로 추가했습니다. 나는 그것이 꽤 지저분해질 수 있다는 데 동의합니다. 그것은 당신에게 어떤 징계를 강요하지 않으며, 당신은 자신을 가져와야합니다. 빠르고 더티 스크립팅에 사용되는 대부분의 시간을 고려하면 원하는 것을 얻을 수 있습니다.
Steve Jackson

2
그래-그리고 Perl은 지저분하다고 비난해서는 안된다. 그것은 프로그래머에게 달려있다. 게다가, 당신의 프로그래밍 언어만으로 좋은 코드를 작성할 수 있다면, 그렇게한다고해서 아무런 신용도 얻지 못할 것입니다.
Jon Hopkins

1
나는 Perl이 현재 현존하는 최고의 스크립팅 언어라고 생각한다. 그것은 의견이없고 그립없이 당신이해야 할 일을 할 수있게 해준다.
Paul Nathan

6

파워 쉘

이것은 파이썬보다 덜 일반적입니다. 그러나 Windows 환경에 존재한다면 아마도 더 유용 할 것입니다.

파이썬보다 쉘 / 스크립트가 더 많지만 (그렇기 때문에) .NET 프레임 워크에 연결하여 매우 뛰어난 기능을 제공 할 수 있습니다. 또한 광범위한 커뮤니티 지원이 있습니다.

마이크로 소프트 (따라서 "유용한") 자신의 서버 제품에 PowerShell을 추가 바쁘다 보니 당신이 스크립트를 실행할 수 있도록 리모팅 도입 콘솔에서 여기 .


5
의견을 밝히지 않고 공감 한 밝은 불꽃이 스스로 설명해 주시겠습니까? 감사.
Murph

5

현대 유닉스 쉘. 예 : bash.


물론 기본적으로 지원하는 환경에서 실행 중이거나 powershell을 최신 유닉스 쉘 (-:)과 동일하게 간주한다고 가정합니다.
Murph

3

elisp, 당신이 풍부한 작업을 본다면 그것의 기본 플랫폼 Emacs를 통해 달성하기 위해 사용됩니다. Emacs는 완전한 윈도우 관리자, IDE, Office, 브라우저, 이메일 클라이언트, 채팅 클라이언트, 쉘, 파일 시스템 탐색기 등의 모든 기능을 피할 수 있습니다. 대부분은 elisp 프로그램을 통해 수행됩니다.


1

일부 작업의 경우 작업 이 적합 할 수 있습니다.

actions순차적으로 실행되도록 추가 할 수있는 일종의 플로우 차트 프로세스 가 있습니다. 새로운 actions자바로 작성할 수 있습니다.

면책 조항 : 아직 사용하지 않았습니다.


1

복잡한 자동화를 위해 로봇 프레임 워크 를 사용할 수 있습니다 . 이 프레임 워크는 주로 자동화 된 테스트를 목표로하지만 일반 자동화에도 사용될 수 있습니다.

파이썬으로 자신의 라이브러리를 쉽게 작성할 수 있으며 기존의 많은 라이브러리 (셀레늄, AutoIt , 텔넷, ssh, 스윙 등)가있어 매우 강력한 모든 종류의 것을 구동 할 수 있습니다 혼합 환경.

키워드 중심이므로 새로운 키워드를 생성하여 반복적 인 작업을 추상화하고 간단한 리팩토링을 가능하게하는 적극적으로 개발중인 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 기반 스크립팅

모든 자동화는 항상 정보 검색 또는 결과 게시를위한 하나 이상의 원격 호출과 함께 제공됩니다. 주요 OS를 다루는 다른 목록은 다음과 같습니다.

원격 스크립트 호출 (도구)

Windows-> Windows

psexec, 파워 쉘

Windows-> 유닉스

plink, 퀘스트 Plink-> SSH 서버

유닉스-> 유닉스

SSH 클라이언트-> SSH 서버

유닉스-> 윈도우

winexe, wmic-> WMI 에이전트 check_nrpe-> NRPE_NT 에이전트

위의 목록에서 언어가 기능 세트의 다른 언어를 대체 할 수 없음을 쉽게 알 수 있습니다. 우리는 하나의 보편적 인 OS와 보편적 인 표준 통신 프로토콜 및 API를 가질 때까지 이들과 함께 살아야합니다.


-2

파이썬은 이것을 위해 훌륭하고 더 큰 설치 기반을 가지고 있으며 Ruby는 Why 's Poignant Guide to Ruby를 가지고 있다는 것 외에는 더 나을 것이 없습니다 . 진심으로 만화 여우.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.