Windows Powershell 사용시 regular expression 을 사용하면 텍스트 처리시 정말 다양한 것들을 자동화 할 수가 있습니다.

Powershell regular expression 관련하여 검색을 하다 보니, 아래 주소에서 Powershell regular expression 관련 좋은 글을 발견 할 수 있었습니다.

https://powershellexplained.com/2017-07-31-Powershell-regex-regular-expression/#regex-matches

그 중에서 Powershell 에서만 사용할 수 있는 굉장히 특이한 사용법에 대해서 소개하려 합니다. 보통의 다른 언어에서 switch case 를 사용하는 경우 정확하게 매칭이 되는 경우에만 사용됩니다. 그런데 Powershell 에서는 특이하게도 switch case 에서 regular expression 을 사용할 수 있더군요. Powershell 에서 get-help about_Switch 명령을 통해 메뉴얼을 살펴보면 Regex 옵션을 주면 switch 의 입력에 대해 정규 표현식 매칭을 하고 그에 따른 동작을 하게 된다는 것을 알 수 있습니다.

위 주소의 글에 있는 예제를 실행해 보면~ 아래와 같이 정규 표현식을 사용하여 숫자 형식에 따른 구분을 할 수 있다는 것을 알 수 있습니다.



Windows 에디터로 어떤 프로그램을 주로 사용하시나요? 저는 Notepad++ 를 즐겨 사용하는데요~

텍스트 편집시 자주 사용하는 기능으로 찾기 바꾸기를 많이 하실텐데~

오늘은 Notepad++ 에서 regular expression 으로 찾기 바꾸기시 그룹 지정 방법에 대해 소개해 보려 합니다. Chocolatey 를 사용하여 프로그램 설치시 아래와 같이 “choco install 프로그램명” 이라는 명령어를 주로 사용하는데~ 가끔 y 를 눌러줘야 하는 경우가 많이 있습니다. 이럴때 편리하게 하기 위해 -y 라는 옵션을 주는데 choco 로 시작하는 줄의 끝에만 -y 를 넣어주는 정규표현식을 작성해 봤습니다.

위 예는 notepad++ 의 매크로를 사용해서도 해결 할 수 있지만 ~ 오늘은 정규표현식으로 해결하는 방법을 소개합니다.

결론 부터 말씀드리면~ 찾을 내용은 다음과 같이 작성했고~

^(choco\sinst.*)$

바꿀 내용은 아래와 같이 작성했습니다.

\1 -y

바꿀 내용을 보시면 아시겠지만 각 그룹은 아래와 같이 \1, \2 …로 표현하게 됩니다. 보통 정규표현식에 매칭되는 전체텍스트를 \0 으로 괄호로 묶인 부분을 순서대로 \1, \2 로 지칭하곤 하는데~ Notepad++ 에서는 \0 은 인식하지 않더군요. 결론적으로 매칭 되는 부분에 대한 전체 그룹 지정은 안되고 괄호로 묶어서 명시적으로 그룹을 지정한 경우만 그룹을 사용할 수 있었습니다.

모두 바꾸기를 해서 실행해보면 아래와 같이 choco~ 로 시작하는 문자의 끝에만 -y 가 들어간 것을 확인 할 수 있습니다.



저는 컴퓨터 사용 시 정규표현식을 많이 사용하는 편입니다. 

처음 정규 표현식에 대해 공부할때 Perl을 사용하였습니다. 

그러다 보니 평소에 펄 스타일의 정규표현식을 주로 시도하는 편인데~ 오늘 알고보니 POSIX 에서는 일부 Perl 스타일의 정규표현식들이 정상적으로 동작하지 않더군요. 

Bash Shell 에서 정규표현식을 사용할 때 숫자를 매칭 할 때는 Perl 스타일로 \d 를 사용하면 안 된다는 것을 알게 되었습니다. 또한 word 를 매칭하는 경우도 \w 를 사용하면 안되더군요. 

위 내용을 비롯한 차이들은 아래 주소에서 확인 할 수 있습니다. 


https://en.wikipedia.org/wiki/Regular_expression#Character_classes


Bash Shell 에서 숫자를 매칭하는 경우에는 [0-9] 또는 [:digit:] 를 사용해야 하고~

워드를 매칭하고 싶은경우에는 \w 가 아닌 [A-Za-z0-9_] 를 사용해야 합니다. 

알파벳만 매칭하고 싶다면 [:alpha:] 나 [A-Za-z] 를 사용하면 됩니다.


Autohotkey 에서 정규표현식을 사용할 때 NeedleRegEx , Replacement 부분에 변수를 사용하고 싶은 경우가 있습니다. 

Python 등에서는 escape() 함수등을 제공해 줘서 이런 함수가 있나 했는데 Autohotkey에 이런 함수는 없더군요. 

그래서 검색을 좀 해보니 불가능 한게 아니었습니다.

어쩌면 Python 의 예보다 더 단순한게 할 수 있더군요. 

아래와 같은 텍스트가 있는 경우~ 

Var =
(
Line 1 of the text.
Line 2 of the text. By default, a linefeed
is present between lines.
)

Line 1,  Line 2  부분을 바꿔 보도록 하죠. 물론 이 경우는 변수를 안 쓰는게 맞지만 그냥... 예니까 변수를 써보죠.

NeedleRegEx 부분에 단순하게 변수  NeedleRegExVar 와 정규 표현식을 붙여서 NeedleRegExVar "\s+(\d+)"  를 쓰면 됩니다.

NeedleRegExVar=Line
Var2 := RegExReplace(Var,  NeedleRegExVar "\s+(\d+)","replaceText")

MsgBox % Var2

결과는 다음과 같습니다.


다음으로 위에서 바꿨던 replaceText 부분을 ' 로 감싸 보죠~ 이에 대한 코드는 아래와 같습니다. ' 로 감싸줘야 되니까  replaceVar "$1" replaceVar 로 처리 했고~ 

replaceVar='
Var3 := RegExReplace(Var2,"(replaceText)", replaceVar "$1" replaceVar )

MsgBox % Var3

결과는 다음과 같습니다.



Regular Expression 을 사용하는 경우 항상 테스트가 필요 합니다.

정규 표현식을 잘못 사용하면 돌이킬 수 없는 문제들이 발생 할 수도 있기 때문이죠.

그래서 오늘은 정규 표현식 테스트 사이트들에 대해 간단히소개 하려 합니다.

제가 구글링 해 본 바로는 Python 정규표현식 테스트 사이트로 아래 3개의 사이트가 나오더군요.




나머지 두 사이트는 파이썬 정규 표현식을 테스트만 할 수 있었습니다.

Cheat Sheet 가 있어서 정규표현식 문법이 생각 안날 때 참조하며 할 수 있다는 측면에서는 좋아 보였습니다. 

그런데 첫번째 링크인  https://regex101.com/ 의 경우 테스트 뿐만 아니라 코드 생성도 해 주더군요. 

모든 워드에 _postfix 라는 글자를 넣고 싶다고 해보죠~ 

다음과 같이 정규 표현식을 입력해서 테스트 해보면 모든 워드에 _postfix 를 넣을 수 있습니다.



다음으로 밑에 있는 code generator 버튼을 눌러 보면~ 방금 작성한 정규 표현식에 대해 Python 코드가 나옵니다. 


위 사이트에서 보시면 javascript, php, python, csharp, java, ruby, rust, golang, perl 에 대해 코드 생성을 해주네요~

정규 표현식 사용시 필수 사이트가 될 것 같습니다.



어쩌다 보니 C#을 약간 다루어야 할 일이 생겼다.

 

C# 은 아주 오래 전에 그냥 책 한번 보고 간단한 폼 좀 만들어서 가지고 놀아본 경험이 있었지만 그 이후로는 거의 사용하지 않은 언어이다.

 

그 당시에는 Visual studio Express 을 다운로드 받아서 사용했는데

 

오늘 회사에서 확인을 해보니 우리 회사에서 Express 버전을 다운로드 받아서 사용하면 안 될 것 같았다.

 

일단 뭐 하도 오래 전에 약간 본 언어라 어케 했었는지 가물 가물 하고 해서 자료를 좀 찾아보니 역시나 요즘 인터넷 세상에는 모든 자료가 널려 있었다.

 

아래 주소에 가보니 일단 쉽게 시작 할 수 있었다.

 

http://www.csharpstudy.com/

 

http://www.hoons.net/Lecture/View/537

 

Visual Studio 를 설치하지 못하면 C#을 할 수 없는 거 아닌가 생각했는데~ Console 에서 작업은 할 수 있었다.

 

C# 컴파일러는 csc.exe 인데~ 찾아보니 아래 path 와 같이 두 개의 csc.exe 파일이 있는 것을 확인 할 수 있었다.

 

C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe

 

하나는 32비트용 이고 하나는 64 비트 용인 듯 하다.

 

아무튼 위 path 에 C# 컴파일러가 있으니 간단하게 아래 주소에 있는

 

정규표현 식 사용 예제를 하나 돌려 봤다.

 

https://msdn.microsoft.com/ko-kr/library/ms228595.aspx

 

Source 의 파일 명은 test.cs 라고 했고~ CMD 창에서 다음과 같이 컴파일 했다.

 

test.cs


C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe test.cs

 

 

다음으로 만들어진 test.exe 파일을 실행 해 봤다.

 

위 예제에서 설명한 데로 잘 된다. ㅎㅎㅎ



코딩시 찾기 바꾸기는 매우 자주 하는 작업 중의 하나인데요

   

보통 Eclipse 와 같은 IDE(Integrated Development Environment)를 사용하는 경우 Find and Replace 는 너무나 쉬운 작업인데~

   

찾기 바꾸기를 위해 Eclipse 와 같은 IDE 를 일일이 실행 시키는것도 참 귀찮은 일이죠~

   

리눅스 등에서는 sed 와 같은 툴을 사용하지만~ 반복 작업이 아닌 이상은 GUI 환경에서 작업하는게 편하긴 하죠~

   

그래서 찾아보니 아래 주소에 fnr.exe 라는 프로그램이 있더군요.

   

아쉽게도 Cross-platform 은 아니고~ 윈도우에서만 동작합니다.

   

https://findandreplace.codeplex.com/

   

아래 그림과 같이 다운로드를 수행 후 압축을 풀면 fnr.exe 파일이 나옵니다.


위 프로젝트는 아래 주소로 옮겼네요. 


https://github.com/zzzprojects/findandreplace






   

fnr.exe 파일을 실행하면 아래 그림과 같이 Find and Replace GUI 프로그램이 실행 됩니다.



 

Dir 에 텍스트 파일이 들어 있는 폴더를 지정하고 찾을 문구와 바꿀 문구를 넣고 Replace 를 누르면 찾기 바꾸기가 동작 합니다. Find Only를 누르면 찾기만 동작하는 하구요~

 

위 그림에서 보는 바와 같이 fnr.exe 은 GUI, Regular Expression 뿐만 아니라 command 명령으로도 사용 할 수 있습니다.

   

GUI 의 아래 부분에 있는 "Gen Replace Command Line" 버튼을 클릭하면~ 아래 그림과 같이 Command Line 명령으로도 나오는 것을 확인 할 수 있습니다.





 

Command Line 을 사용하면 좀 더 다양한 응용도 할 수 있을 것으로 보이네요~


오늘은 정규 표현식(Regular Expression) 관련 툴 소개 좀 하려 합니다.

 

일단 정규표현식이 뭔지 알아야겠죠~ 정규 표현식에 대한 소개는 아래 주소에서 확인 할 수 있습니다.

 

http://ko.wikipedia.org/wiki/%EC%A0%95%EA%B7%9C_%ED%91%9C%ED%98%84%EC%8B%9D

 

간단히 얘기하면 문자열의 규칙성을 이용하여 특정한 문자 패턴을 찾거나 바꾸는 표현 방식이 바로 regular expression 입니다.

 

저는 개인적으로 Regular Expression을 사용한 이후 컴퓨터 사용의 편의성이 극단적으로 증가한 느낌을 많이 받습니다.

 

그만큼 중요한 기술이고 배워 볼만한 기술이라는 생각이 드네요.

 

요즘 저는 개인적으로 코드 제너레이터 등을 작성하는데 정규 표현식을 사용하고 있습니다. 아래 글에서 숫자 등을 자동으로 증가 감소 시키는데도 정규 표현식을 사용하고 있고요~

 

http://iamaman.tistory.com/1559

http://iamaman.tistory.com/1562

 

저는 처음 정규 표현식 공부를 할 때 "정규 표현식 완전 해부와 실습" 이라는 책을 좀 봤었는데~

 

책도 중요하지만 컴퓨터 관련 기술들은 실습이 중요 할 것 같네요.

 

그래서 오늘은 다음과 같이 두 개의 툴을 추천 합니다.

 

첫 번째로는 아래 주소의 regexr 인데요. 웹 페이지에서 정규 표현식 테스트를 할 수 있고 예제나 cheetsheet 을 확인 할 수 있어서 편리하더군요.

 

http://regexr.com/

 

설치가 필요 없이 브라우저만 있으면 접근 할 수 있으니 많이 사용하는 편입니다.

 

다음으로 설치 형 프로그램으로는 expresso 을 가끔씩 사용합니다. 윈도우 전용의 Freeware 라서 다른 운영체제에서는 사용할 수 없다는 게 아쉽지만 ~


http://www.ultrapico.com/Expresso.htm


 

regular expression 관련 여러 편의 기능들이 있어서 익혀 놓으면 매우 편리하게 사용할 수 있을 것 같네요.


코딩을 하다 보면 규칙적인 코딩을 해야 하는 경우가 종종 있습니다.

 

아래 경우와 같이 순차적으로 증가하는 코드를 생각해 보죠~


a0=0;

a1=1;

a2=2;

a3=3;

a4=4;

.

.

.


아래 글에서도 소개를 했지만 vim 을 사용하는 경우 visincr 라는 플러그인을 사용하면 위 코드 예와 같은 경우 쉽게 인덱스를 증가 시킬 수 있습니다.

 

http://iamaman.tistory.com/324

 

그런데 저는 일반적으로 사용하는 에디터에서도 이런 자동 증가 기능이 있었으면 하는 생각이 들더군요.

 

그래서 Autohotkey 와 Perl 을 사용하여 인덱스를 자동 증가 시키는 코드를 한번 만들어 봤습니다.

 

일단 숫자를 인식 해야 할 테니 regular expression 을 지원해야겠고 문자를 숫자로 인식 한 후에 1씩 증가 할 수 있어야겠죠~ 그래서 이 부분은 Perl 을 활용 했습니다.

 

이를 위한 Perl 코드는 다음과 같습니다. 아래 코드에서 보는 바와 같이 Win32::Clipboard 을 활용 했습니다. 아래 Perl 코드의 파일 명은 ClipIncrease.pl 로 만들었습니다.

 

 

Win32::Clipboard 이 없는 분들은 CPAN client 을 실행 한 후에 install Win32::Clipboard 이라는 명령을 통해 설치 할 수 있습니다.

 

다음으로 위 코드를 실행 시키기 위해 Autohotkey 단축키를 하나 만들었습니다. 코드는 다음과 같습니다. 아래 코드에서는 ClipIncrease.pl의 Fullpath 경로만 제대로 설정해 주면 됩니다.

 

+#=::

InputBox, Nloop, Enter # of Loop, , , 300, 100

if Errorlevel=0

{

Run, %comspec% /c perl.exe ClipIncrease.pl의 Fullpath %Nloop%, , Min

}

 

SplashTextOn, ,, Processing End,

Sleep, 1000

SplashTextOff

return

 

위 Autohotkey 코드의 단축키는 Shift + Win + = 입니다.

 

사용 방법을 간단히 설명 드리면~ 위 예에서~ 첫 줄의 코드 부분(a0=0;)을 복사 합니다.

 

다음으로 Shift + Win + = 을 눌러서 Autohotkey 코드는 실행하면 나타나는 InputBox 에 다음과 같이 증가 횟수를 적어 줍니다. 저는 10회를 적었습니다.

 

Ok 을 누른 후에 좀 있으면 다음과 같이 "Processing End" 라는 메시지가 나옵니다.

다음으로 위 코드의 아래 쪽에 CTRL + V 을 해서 붙여 넣기를 합니다.

 

그럼 다음과 같은 코드가 만들어 집니다.

 

위 예는 간단히 10 회 반복을 했지만~ 100 회 1000 회 반복도 쉽게 할 수 있겠죠?


오늘은 MATLAB 을 이용하여 파일 또는 디렉토리 이름을 다룰 때 유용한 몇 가지 함수들에 대해 설명 드리겠습니다.

 

파일 이름을 다루다 보면 파일 이름부분과 확장자 부분으로 구분하고 싶을 때가 있습니다.

 

이런 경우에는 fileparts() 라는 함수를 사용 할 수 있습니다.

 


다음과 같은 형태로 구성되는데요~

 

 

 

[pathstr, name, ext] = fileparts(filename)

 

보시는 바와 같이 path, 파일 이름, 확장자로 구분해 줍니다.

 

사용 예는 다음과 같습니다.

 

위에서는 파일이름을 분리 했으니깐 파일이름을 합치는 방법에 대해 알아보죠.

 

이름을 합치는 경우에는 fullfile () 이라는 함수를 제공해 줘서 path, 파일 이름, 확장자를 편리하게 합칠 수 있습니다.

 

위에서 나누었던 파일 이름을 fullfile () 함수를 이용하여 합쳐 보죠~ 


 

다음으로 filesep 에 대해 설명 드리겠습니다.

 

Unix 나 맥 os 같은 경우에는 파일 구분자가 / 이지만 윈도우의 경우에는 \ 입니다.

 

그래서 같은 파일을 이종의 운영체제에서 이용하는 경우에는 에러가 발생할 여지가 있죠.

 

따라서 script 파일에서 파일 이름을 다룰 때는 filesep 를 이용해서 운영체제에 따라 자동으로 파일 구분자가 지정되도록 하는 것이 좋습니다.

 

위에서 fullfile() 함수를 이용해서 합쳤던 파일 이름을 다음과 같이 filesep 를 이용하여 합치는 예는 다음과 같습니다.

 

다음으로 string 으로 된 path 를 regular expression 을 이용하여 간단하게 각 디렉토리 별로 구분하는 방법에 대해 알아보겠습니다.

  

위 예에서 s 라는 변수에는 각 폴더와 파일 이름이 filesep 를 구분자로 해서 나누어지고 그 결과가 cell 타입으로 저장됩니다.

 

나누어진 디렉토리와 파일 이름을 다시 합치고 싶을 때는 위 예에서 처럼fullfile(s{:}) 하시면 되고요~

 

여기서 s 라는 변수가 cell 타입이기 때문에 각 값에 접근하기 위해서 중괄호를 이용한 것입니다.

 

마지막으로 소개해 드릴 함수는 현재 실행되는 파일의 이름을 나타내 주는 mfilename 함수입니다.

 

간단하게 예를 보시면 이해가 되실 듯 하네요.



 

위의 ABC.m 파일에서 mfilename 함수에 의해 command 창에 다음과 같이 현재 실행중인 파일의 이름이 나오고




fullpath 를 알 고 싶을 때는 위 예에서처럼 mfilename('fullpath') 라고 작성하면 됩니다.


음악 파일 이름 등을 일괄 변경 하는 경우 이전에 말씀 드린 NexusFile 등과 같은 프로그램의 파일이름 바꾸기 도구 등을 이용하면 대부분 편리하게 변경이 가능합니다.

 

2011/03/26 - [컴퓨터일반] - NexusFile 을 이용한 파일 이름 일괄 변경

 

하지만 이런 툴 들도 개발자가 만들어준 틀 안에서만 바꿀수 있기 때문에 내 마음대로 모든걸 바꾸기에는 한계가 있습니다. 이럴때를 위해 약간의 프로그램 지식을 쌓는 것이 좋다고 생각됩니다.

 

윈도우 운영체제에서라면 Autohotkey 를 공부하시기를 권해 드립니다. 굉장히 쉬우면서도 컴퓨터 사용을 효율적으로 할 수 있게 도와 주는 언어거덩여~~ 물론 영어의 압박도 있고… 나름 노력도 필요하긴 하지만 들어간 노력에 비해 정말 다양한 것들을 할 수 있는 툴이라는 데는 의심의 여지가 없습니다. 


2012/02/22 - [컴퓨터일반] - Autohotkey를 사용해 보아요~


어쨌든 오늘은 Autohotkey 의 정규 표현식을 이용하여 음악 파일 이름 바꾸기를 하다가 제가 최근에 편리하게 사용하게 된 것들에 대해 말씀 드리겠습니다.

 

노블레스(Noblesse)-마음을다한사랑(feat김동희) 라는 이름의 음악 파일이 있습니다.

 

저는 위 파일 이름에서 괄호가 눈에 거슬려서 Autohotkey 의 정규 표현식을 이용하여 괄호를 지우려고 다음과 같이 코딩 했습니다.

 

Temp_File_name=노블레스(Noblesse)-마음을다한사랑(feat김동희) ; 음악 파일 이름

 

NewStr1:= RegExReplace(Temp_File_name, "\(.*\)") ; 괄호와 그 안의 내용 지우기, 탐욕스러운 수량자

MsgBox, %NewStr1% ; 결과 확인

 

위 코드에 대해 간단하게 설명 하면, Autohotkey 에서 정규표현식을 이용하여 매치되는 글자를 변경할 때 사용하는 함수인 RegExReplace()를 사용하여 괄호 [( )]와 그 안의 모든 글자 [ .* ] 를 지우려 했습니다. 여기서 괄호 앞쪽에 \ 이 붙은건 글자 그대로의 괄호를 인식 시키기 위해 \(, \) 이렇게 표현한 겁니다.

 

위 코드의 결과는 이렇게 나옵니다. 제 생각되는 다르게 (Noblesse)-마음을다한사랑(feat김동희) 부분이 다 지워지더군요.

 

 

그래서 정규표현식에 대해 좀 뒤지다 보니… 수량자는 탐욕스러운 연산을 한다고 하네요… 따라서 (Noblesse), (feat김동희) 만 쏙 빼서 지우고 싶으면 탐욕스럽지 않은 연산자를 사용해야 한다고 합니다.

 

그렇담 탐욕스럽지 않은 연산자는 어케 사용하느냐 봤더니 무쟈게 간단하더군요. 걍 수량자 뒤에 물음표 ? 하나만 붙이면 됩니다. ㅋㅋㅋㅋ

 

그래서 탐욕스럽지 않은 연산자로 수정한 코드는 다음과 같습니다.

 

Temp_File_name=노블레스(Noblesse)-마음을다한사랑(feat김동희) ; 음악 파일 이름

 

NewStr2:= RegExReplace(Temp_File_name, "\(.*?\)") ; 괄호와 그 안의 내용 지우기, 탐욕스럽지 않은 수량자

MsgBox, %NewStr2% ; 결과 확인

 

결과는 이렇게 괄호와 그 안의 내용만 쏙 빼서 지우고 나오더군요~~~

 

 

정규 표현식은 Perl 이 갑이긴 한데~~ Autohotkey 에서도 매우 효율적으로 이용할 수 있더군요~~

 

Autohotkey 의 정규 표현식은 Perl-compatible regular expression (PCRE) 이라고 하더군요. 뭐 딱 봐도 알겠지만 Perl 의 정규 표현식 문법을 차용해서 만들어 진 듯 합니다.


  1. 한종석 2012.04.21 20:55

    F1::
    CoordMode, Pixel, Screen
    CoordMode, Mouse, Screen
    Loop,
    {
    A::
    sleep, 500
    Imagesearch, VX, VY, 0, 0, A_ScreenWidth, A_ScreenHeight, *10 1.bmp
    sleep, 100
    if Errorlevel = 1
    sleep, 100
    {
    Goto, A
    }
    sleep, 100
    if Errorlevel = 0
    sleep, 100
    {
    MouseClick, Left, %VX%, %VY%
    Break
    }
    }
    Loop,
    {
    B::
    sleep, 100
    Imagesearch, VX, VY, 0, 0, A_ScreenWidth, A_ScreenHeight, *10 2.bmp
    sleep, 100
    if Errorlevel = 1
    sleep, 100
    {
    Goto, B
    }
    sleep, 100
    if Errorlevel = 0
    sleep, 100
    {
    MouseClick, Left, %VX%, %VY%
    Break
    }
    }
    Loop,
    {
    C::
    sleep, 100
    Imagesearch, VX, VY, 0, 0, A_ScreenWidth, A_ScreenHeight, *10 3.bmp
    sleep, 100
    if Errorlevel = 1
    sleep, 100
    {
    Goto, C
    }
    sleep, 100
    if Errorlevel = 0
    sleep, 100
    {
    MouseClick, Left, %VX%, %VY%
    Break
    }
    }
    Return
    F2::Pause
    F3::Exitapp


    스크립트 보시고 문제 좀 알려주세요..

    아예 동작을 안하네요..

    이미지를 클릭하면 기다렸다가 홈페이지 뜨면 다음으로 넘어가서

    이미지를 클릭하는걸로 짜봣는데...A를 이미지서치하고 클릭되면 B로 넘어가게요..

    잘되다가 멀 잘못 건드렸는지 전혀 동작을 안해요..

    잘될때도 이미지가 똑같았은데 계속 Goto 되면서

    이미지를 못찾는건 제가 잘못 건드린 부분이 잇는것 같아서요..

    제발 좀 알려주세요...

    • 남성 2012.04.22 15:06 신고

      다른 부분은 특별히 잘 못된 부분 잘 모르겟는데요.
      if 문 다음에 sleep 100 주는 부분의 문법이 약간 잘못된거 같다고 생각되네요.
      중괄호 {} 안에 sleep 100 이 있어야 if 문에 따라 제대로 동작 할것 같습니다.

      이상 어줍잖은 조언 이었습니다.

      방문해 주셔서 감사합니다.

+ Recent posts