이 페이지는 iFrame 용이므로 사용하면 오류가 발생될 수 있슴.
B
폴더 점검 예제
중요 항목 : GetFolder, ActiveXObject, Enumerator, Path, SubFolders, RootFolder, DriveLetter, DriveType, ShareName, IsReady, VolumeName, Attributes, Name, DateCreated, DateLastAccessed, DateLastModified, ShortName, ShortPath, atEnd, moveNext, item, open, close, self, function, for, getYear, getMonth, getDate, getHours, getMinutes, getSeconds, new, onclick

중요 항목 : ActiveXObject, Column, Line, AtEndOfLine, AtEndOfStream, FileExists, Write, WriteLine, Read, ReadLine, OpenTextFile, Close, onclick

결과 표시 위치
클릭하여 결과를 보라.
<DIV id=showTextFile class=show style=width:700;margin-left:50>결과 표시 위치</DIV>

<SCRIPT>
function ShowTextTest(fileVar){
  str='';
  var ForReading=1;ForWriting=2;
  fso=new ActiveXObject('Scripting.FileSystemObject');

  if (!fso.FileExists(fileVar)){
    fileObj=fso.OpenTextFile(fileVar,ForWriting,true);
    fileObj.WriteLine('Javascript 예제를 위해 생성된 화일이다.');
    fileObj.Write(fileVar+' File이 생성되었다.');
    fileObj.Close();
    str+='"'+fileVar+ '" 생성 완료되었다.';
  }

  fileObj=fso.OpenTextFile(fileVar,ForReading);
  str+='<TABLE border=1 width=100%>';
  str+='<TR><TH>내용</TH><TH>코드</TH><TH>값</TH></TR>';
  str+='<TR><TD rowspan=2>화일 본문</TD><TD>fileObj.ReadLine()</TD><TD>'+fileObj.ReadLine()+'</TD></TR>';
  str+='<TR><TD>fileObj.ReadLine()</TD><TD>'+fileObj.ReadLine()+'</TD></TR>';
  str+='<TR><TD>수평 위치</TD><TD>fileObj.Column</TD><TD>'+fileObj.Column+'</TD></TR>';
  str+='<TR><TD>수직 위치</TD><TD>fileObj.Line</TD><TD>'+fileObj.Line+'</TD></TR>';
  str+='<TR><TD>줄 끝인가?</TD><TD>fileObj.AtEndOfLine</TD><TD>'+fileObj.AtEndOfLine+'</TD></TR>';
  str+='<TR><TD>화일 끝인가?</TD><TD>fileObj.AtEndOfStream</TD><TD>'+fileObj.AtEndOfStream+'</TD></TR>';
  str+='</TABLE>';
  showTextFile.innerHTML=str;
}
</SCRIPT>

<DIV class=show title="결과" onClick="ShowTextTest('c:\\JsTest\\TestProp.txt')">클릭하여 결과를 보라.</DIV>

중요 항목 : ActiveXObject, Attributes, DateCreated, DateLastAccessed, DateLastModified, Drive, Files, Count, Name, ParentFolder, Path, ShortName, ShortPath, Size, SubFolders, Type, FileExists, Write, WriteLine, OpenTextFile, Close, onclick
결과 표시 위치
클릭하여 결과를 보라.
<DIV id=showProperty class=show style=width:780;margin-left:50>결과 표시 위치</DIV>

<SCRIPT>
function ShowProperty(fileVar){
  str='';
  var ForReading=1;ForWriting=2;
  fso=new ActiveXObject('Scripting.FileSystemObject');

  if (!fso.FileExists(fileVar)){
    fileObj=fso.OpenTextFile(fileVar,ForWriting,true);
    fileObj.WriteLine('Javascript 예제를 위해 생성된 화일이다.');
    fileObj.Write(fileVar+' File이 생성되었다.');
    fileObj.Close();
    str+='"'+fileVar+ '" 생성 완료되었다.';
  }

  file1=fso.GetFile(fileVar);
  paren=fso.GetFolder(file1.ParentFolder);

  str+='<TABLE border=1 width=100%>';
  str+='<TR><TH>내용</TH><TH>코드</TH><TH>file1.속성값</TH><TH>paren.속성값</TH></TR>';
  str+='<TR><TD>애트리뷰트</TD><TD>Attributes</TD><TD>'+file1.Attributes+'</TD>';
  str+='<TD>'+paren.Attributes+'</TD></TR>';
  str+='<TR><TD>생성일</TD><TD>DateCreated</TD><TD>'+file1.DateCreated+'</TD>';
  str+='<TD>'+paren.DateCreated+'</TD></TR>';
  str+='<TR><TD>접속일</TD><TD>DateLastAccessed</TD><TD>'+file1.DateLastAccessed+'</TD>';
  str+='<TD>'+paren.DateLastAccessed+'</TD></TR>';
  str+='<TR><TD>수정일</TD><TD>DateLastModified</TD><TD>'+file1.DateLastModified+'</TD>';
  str+='<TD>'+paren.DateLastModified+'</TD></TR>';
  str+='<TR><TD>드라이브</TD><TD>Drive</TD><TD>'+file1.Drive+'</TD>';
  str+='<TD>'+paren.Drive+'</TD></TR>';
  str+='<TR><TD>최상폴더?</TD><TD>IsRootFolder</TD><TD> </TD>';
  str+='<TD>'+paren.IsRootFolder+'</TD></TR>';
  str+='<TR><TD>부속화일</TD><TD>Files.Count</TD><TD> </TD>';
  str+='<TD>'+paren.Files.Count+'</TD></TR>';
  str+='<TR><TD>화일 이름</TD><TD>Name</TD><TD>'+file1.Name+'</TD>';
  str+='<TD>'+paren.Name+'</TD></TR>';
  str+='<TR><TD>폴더 경로</TD><TD>ParentFolder</TD><TD>'+file1.ParentFolder+'</TD>';
  str+='<TD>'+paren.ParentFolder+'</TD></TR>';
  str+='<TR><TD>화일 경로</TD><TD>Path</TD><TD>'+file1.Path+'</TD>';
  str+='<TD>'+paren.Path+'</TD></TR>';
  str+='<TR><TD>단축 이름</TD><TD>ShortName</TD><TD>'+file1.ShortName+'</TD>';
  str+='<TD>'+paren.ShortName+'</TD></TR>';
  str+='<TR><TD>단축 경로</TD><TD>ShortPath</TD><TD>'+file1.ShortPath+'</TD>';
  str+='<TD>'+paren.ShortPath+'</TD></TR>';
  str+='<TR><TD>화일 크기</TD><TD>Size</TD><TD>'+file1.Size+'</TD>';
  str+='<TD>'+paren.Size+'</TD></TR>';
  str+='<TR><TD>부속 폴더</TD><TD>SubFolders.Count</TD><TD> </TD>';
  str+='<TD>'+paren.SubFolders.Count+'</TD></TR>';
  str+='<TR><TD>화일 종류</TD><TD>Type</TD><TD>'+file1.Type+'</TD>';
  str+='<TD>'+paren.Type+'</TD></TR>';
  str+='</TABLE>';
  showProperty.innerHTML=str;
}
</SCRIPT>

<DIV class=show title="결과" onClick="ShowProperty('c:\\JsTest\\TestProp.txt')">클릭하여 결과를 보라.</DIV>

중요 항목 : GetFolder, SubFolders, ActiveXObject, Enumerator, Path, Attributes, Name, DateCreated, DateLastAccessed, DateLastModified, ShortName, ShortPath, atEnd, moveNext, item, open, close, open, close, self, function, for, getYear, getMonth, getDate, getHours, getMinutes, getSeconds, new, onclick
클릭하여 결과를 보라.
<SCRIPT>
function ShowFolderList(drivePath){
  var fso,drvname,enumObj,enum1;
  fso=new ActiveXObject('Scripting.FileSystemObject'); // 자동화 개체를 만듬.
  folderObj=fso.GetFolder(drivePath);
  str='<TABLE border=1 cellpadding=1 cellspacing=0 align=center width=100%>';
  str+='<TR><TH colspan=9>'+folderObj.Path+'</TH></TR>';
  str+='<TR bgcolor=eeeeee align=center class=small><TD>#</TD><TD>Folder</TD><TD>이름</TD>';
  str+='<TD>단축이름</TD><TD>단축경로</TD><TD>최초 생성일</TD>';
  str+='<TD>최종 접속일</TD><TD>최종 수정일</TD><TD class=small>Atr</TD></TR>';
  fontpct='<COL style=font-size:90%>';
  str+=fontpct+fontpct+fontpct+fontpct+fontpct+fontpct+fontpct+fontpct;
  enum1=new Enumerator(folderObj.SubFolders);

  i=0;
  for (; !enum1.atEnd();enum1.moveNext()){
    folder1=enum1.item();
    str+='<TR><TD>'+i+'</TD><TD>'+folder1+'</TD>';
    created=dateConv(new Date(folder1.DateCreated));
    accessed=dateConv(new Date(folder1.DateLastAccessed));
    modified=dateConv(new Date(folder1.DateLastModified));
    str+='<TD>'+folder1.Name+'</TD><TD>'+folder1.ShortName+'</TD>';
    str+='<TD>'+folder1.ShortPath+'</TD><TD>'+created+'</TD><TD>'+accessed+'</TD>';
    str+='<TD>'+modified+'</TD><TD>'+folder1.Attributes+'</TD></TR>';
    i++;
  }
  str+='</TABLE>';
  openWin(str);
}

function openWin(str){
  newWin=window.open('','pop','top=0,left=0,width=1000,height=580,scrollbars=yes,resizable=yes');
  newWin.document.write('<LINK rel="stylesheet" type="text/css" href="../../public/jscript.css">');
  newWin.document.write(str);
  newWin.document.write('<A href=javascript:self.close()>창닫기</A>');
}

function dateConv(t){
  return(t.getYear()+'/'+(t.getMonth()+1)+'/'+t.getDate()+':'+
    t.getHours()+':'+t.getMinutes()+':'+t.getSeconds());
}
</SCRIPT>

<DIV class=show title="결과" onClick="ShowFolderList('c:\\')">클릭하여 결과를 보라.</DIV>

중요 항목 : item, atEnd, moveNext, DriveLetter, DriveType, ShareName, IsReady, VolumeName, RootFolder, ActiveXObject, Enumerator, function, for, new, onclick
결과 표시창.
클릭하여 결과를 보라.

드라이브 상세 조회는 위 예제의 기능함수를 이용하였다.

<DIV id=DriveShowarea class=show style="width:460" title="결과">결과 표시창.</DIV>

<SCRIPT>
function ShowDriveList(){
  var fso,drvname,enumObj,enum1; // 변수를 선언한다.
  fso=new ActiveXObject('Scripting.FileSystemObject'); // 자동화 개체를 만듬.
  enumObj=new Enumerator(fso.Drives); // 드라이브에 Enumerator를 만듬.

  str='<TABLE border=0 cellpadding=3 align=center>';
  for (; !enumObj.atEnd();enumObj.moveNext()){ // 마지막 항목인가를 확인하고 루프 문장 종료

    enum1=enumObj.item();
    detail='';
    str=str+'<TR><TD>'+enum1.DriveLetter+'</TD>'; // 드라이브 항목별 드라이브 글자 출력
    if (enum1.DriveType==3) drvname=enum1.ShareName ; // 드라이브 공유이름  얻어 문자열에 추가

    else if (enum1.IsReady){
      drvname=enum1.VolumeName; // 드라이브가 준비 상태인지 확인하고, 볼륨 이름을 가져옴.
      detail='<A href=javascript:ShowFolderList(\"'+enum1.RootFolder+'\\")>상세 보기 클릭</A></SPAN>';
    }
    else drvname='[드라이브가 준비되지 않았습니다.]';
    str+='<TD>'+drvname+'</TD><TD>'+detail+'</TD></TR>';
  }
  str+='</TABLE>';
  DriveShowarea.innerHTML=str; // 드라이브 목록을 출력.
} // 기능함수 종료
</SCRIPT>

<DIV class=show title="결과" onClick="ShowDriveList()">클릭하여 결과를 보라.</DIV>
<SCRIPT>
method
폴더 점검 예제
이전페이지로페이지 맨위로
최종 수정:
05/23/2025 01:52:02
KoXo Homepage
All right reserved
비정상적인 방식으로 프레임없이 페이지에 접속하면 자주 오류가 발생됩니다.
오류가 나면 정상적 접속으로 시도해 보세요.
http://koxo.com/lang/js/method/exp/xGetFolder.html