어렸을적, 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 객체생성 방법