1. FSO 오브젝트 생성
2. Method 또는 Property 이용
FSO 는 WSH 와 마찬가지로 먼저 객체(object) 를 생성하여 해당 객체에서 사용 가능한
여러가지 명령(method)과 속성(property)을 이용하여 작업이 이뤄진다.
다만, WSH 는 다양한 객체를 생성할 수 있는 것에 비해 FSO 는 단일 객체로서
Scripting.FileSystemObject 를 이용하여 생성된 객체를 가리킨다.
당연한 얘기지만, Scripting.FileSystemObject 를 이용하여 생성된 객체(FSO)가 어떤 명령(method) 과 속성(property)을 이용할 수 있는지 정의된 어떤 것(Scripting Type Libray)이 필요하며,이러한 정의는 Scrrun.dll 파일에 들어 있다.
따라서 Scrrun.dll 파일이 시스템에 설치되어 있지 않으면 FSO 관련 작업을 할 수 없다.
Set WshNetwork = WScript.CreateObject("WScript.Network")
' FSO 객체는 scrrun.dll 이 설치되어 있다면 CreateObject 를 이용해서 바로 객체를 생성하지만,
' WSH 의 경우에는 메인 오브젝트인 WScript 를 객체로 하여 새로운 객체를 생성한다.
' 따라서 FSO는 WSH 없이 단독으로 얼마든지 사용할 수 있다.
[1] CreateObject method 를 이용하여 FileSystemObject object 를 생성.
Set FSO = CreateObject ("Scripting.FileSystemObject") ' Visual Basic Script
var FSO = new ActiveXObject ("Scripting.FileSystemObject"); // JScript
[2] FileSystemObject object 의 적절한 method 를 이용.
Set f1 = FSO.GetFile ("c:\test.txt")
Set fldr = FSO.GetFolder ("c:\")
"create" methods 를 통해 object 를 생성시 "get" methods 는 다시 사용할 필요가 없다.
"create" functions 을 통해 이미 object 의 handle 이 반환되어 있기때문이다.
[3] Access the object's properties.
Response.Write "Folder name is: " & fldr.Name
Response.Write "File last modified: " & f1.DateLastModified
// JScript
var fso = new ActiveXObject ("Scripting.FileSystemObject");
var f1 = fso.GetFile ("c:\\test.txt");
var fldr = fso.GetFolder ("c:\\");
Response.Write("Folder name is: " + fldr.Name);
Response.Write("File last modified: " + f1.DateLastModified);
[FSO 상수]=======================================================
상수(Constant)란 쓰기 편하게 특정 단어로 값을 지정해 두고 실제 쓸 때는
값 대신 단어(상수)로 사용하는 걸 말하며,
값(Value)을 알고 있다면 굳이 상수로 선언하는 등의 절차 필요없이 바로 쓰면 된다.
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const OverWritExist = True
Set FSO = CreateObject ("Scripting.FileSystemObject")
Set ts = FSO.OpenTextFile ("c:\test.txt", ForWriting, OverWritExist )
' => Set ts = FSO.OpenTextFile ("c:\test.txt", 2, True)
'----------------------------------------------------------------
드라이브 형식 상수 (상수 값 설명)
Constant Value Description
Unknown 0 ' 알 수 없는 형식의 드라이브
Removable 1 ' 이동식 매체 - 모든 플로피 드라이브와 기타 여러 저장 장치들
Fixed 2 ' 고정 매체 - 이동식 하드 디스크를 포함하여 모든 하드 디스크
Remote 3 ' 네트워크 드라이브
CDROM 4 ' CD-ROM 드라이브 - CDR , CDRW 를 구분하지 않음
RAMDisk 5 ' 로컬 컴퓨터의 RAM 드라이브
'----------------------------------------------------------------
파일 특성 상수
Constant Value Description
Normal 0 ' 특성을 지정하지 않은 파일 (표준 파일)
ReadOnly 1 ' 읽기 전용 파일
Hidden 2 ' 숨겨진 파일
System 4 ' 시스템 파일
Directory 16 ' 폴더나 디렉터리
Archive 32 ' 마지막 백업 후에도 바뀌는 파일
Alias 1024 ' 링크 또는 바로 가는 키
Compressed 2048 ' 압축 파일
'----------------------------------------------------------------
파일 입/출력 상수
Constant Value Description
ForReading 1 ' 읽기 전용으로 열기 (이 파일에는 쓸 수 없다.)
ForWriting 2 ' 쓰기 전용으로 열기 (같은 이름의 파일이 존재할 경우 덮어 쓴다.)
ForAppending 8 ' 쓰기 전용으로 열기 (같은 이름의 파일이 존재할 경우 끝에 이어서 쓴다.)
'----------------------------------------------------------------
특수 폴더 상수
Constant Value Description
WindowsFolder 0 ' Windows 운영 체제로 설치한 파일이 들어 있는 Windows 폴더
SystemFolder 1 ' 라이브러리, 글꼴 및 장치 드라이버가 들어 있는 시스템 폴더
TemporaryFolder 2 ' 임시 폴더로 이 폴더의 경로는 TMP 환경 변수에 나타난다.
'Website 세상 > Web Program' 카테고리의 다른 글
[JavaScript] 이미지 크기에 맞게 팝업창 띄우기 (0) | 2009.11.23 |
---|---|
[JavaScript] 특정영역인쇄 (0) | 2009.01.15 |
윈도우 스케줄러를 사용해서 자동백업을 구축하기 (0) | 2008.11.05 |
asp에서 XML 다루는 여러가지 예제 (0) | 2008.10.22 |
[ASP] xmlhttp 를 이용해서 다른 서버의 DB 를 쿼리해서 RecordSet 객체로 가져오는법 (0) | 2008.10.22 |