본문 바로가기

IT/vb

윈도우에서 사용가능한 스크립트 ( vbs , js ) 비교

반응형

어렸을적, IT 를 막 시작하면서 C 공부를 하는 무렵에

Basic 언어는 무언가 어린 아이들(?) 이나 초초초보자들이 하는 언어라고 생각했습니다.

 

그래서 컴퓨터 막 시작했을무렵에 GW-BASIC, Q-BASIC 을 잠깐 한 이후에는 거들떠 보지도 않았었죠.흐흐.

 

하지만, 회사생활을 시작하고 엑셀을 쓰면 쓸수록,

VB는 정말 많이 쓰는 언어더군요..

 

최근에는 유닉스에서는 쉘이 있듯이, 윈도우 자동화에는 VBS 가 있다고 느끼고 있습니다.

(파워쉘이 있지만 머 대중화 되진 않았다고 느끼니까요.. 저만의 착각??)

 

특히, ActiveXObject 와 같이 쓰면,  마치 유닉스에서 명령어 툴( ls, grep 등등 )을 쓰는것처럼 활용도가 많이 높은것 같습니다.

 

윈도우 로컬에서 스크립트를 쓰기위에서는 Window Script Host 라는 걸 사용합니다.

wscript, cscript  로 나뉘어 있는데

cmd 창에서 cscript 라고 쓰면, 존재와 버젼을 확인 할 수 있습니다.

 

두개의 차이는, 구글링 해보니 윈도우 용이냐 cmd 용이냐 정도 이군요.

 

넘기고~

 

wscipt 에서는 기본적으로 vbscript 와 jscript 를 둘다 사용 가능해서, 문법적으로 친숙한것을 쓰면됩니다.

하지만 jscript 가 완벽한 javascript 는 아니다 보니, 영 껄끄러울 떄가 많네요..

 

어쨌든, 예제로, 윈도우 기본명령어 dir 을 파일로 남기고 이를 읽는 예제의 jscript, vbscript 각각의

소스를 남기고 이만 말줄이려고 합니다~~

 

vbscript

 

FileCreateEx.vbs

 

Cmd="%comspec% /c dir c:\ > c:\study\dir.txt"
Set WshShell=CreateObject("WScript.Shell")
Exec    =WshShell.Run(Cmd,1,true)
Set fso     =CreateObject("Scripting.FileSystemObject")
Set ts      =fso.OpenTextFile("c:\study\dir.txt",1)
msg     =ts.ReadAll
ts.Close
WScript.Echo(msg)

 

jscript

 

FileCreateEx.js

 

Cmd="%comspec% /c dir c:\\ > c:\\study\\dir.txt";
WshShell=new ActiveXObject("WScript.Shell");
Exec    =WshShell.Run(Cmd,1,true);
fso     =new ActiveXObject("Scripting.FileSystemObject");
ts      =fso.OpenTextFile("c:\\study\\dir.txt",1);
msg     =ts.ReadAll();
ts.Close();
WScript.Echo(msg)

 

차이점!

1. 라인종료시 세미콜론 여부

2. 이스케이프문자

3. 변수 할당 방법

4. com 객체생성 방법

반응형