Inside CD

CDの中身一覧をリストとして出力します。 CDの管理などに便利です。
ただしまだ未完成な状態です。<リストが見にくいと悪評。
ちなみに処理速度が遅いです。dirコマンドを直接実行した方が速いのもこれまた事実なんですが。
[ Download: Inside CD ]

<< inscd10.js >>

/* Inside CD ver1.0 */


var cddrv,text,br,outputfile;

//cddrv = "Q:";  //コメント(//)をはずして、ドライブ名を入力した場合は、
                 //そのドライブのリストを作成します。

outputfile = "cdlist.txt"; //リストの出力先ファイル


WSHShell = WScript.CreateObject("WScript.Shell");
text  = "";
br    = unescape("%0D%0A");
fs    = WScript.CreateObject("Scripting.FileSystemObject");
enuDrv= new Enumerator(fs.Drives);


if(cddrv == null) {
  cddrv = GetCdDrive(fs);
   if(cddrv == "") {
       WScript.Echo("CDドライブが見つかりません。");
       WScript.Quit(1);
   }
 }

  if(!(fs.GetDrive(cddrv)).IsReady) {
      WScript.Echo("ドライブの準備が出来ていません。\n"+cddrv+"にCDが入っているか確認して下さい。");
      WScript.Quit(1);
  }



 get_fld = fs.GetFolder(cddrv);

 if(WSHShell.Popup(cddrv+" ドライブのリストを出力します。",0,"Y/N",65) == 2) {
     WScript.Quit(1);
  }



 text += cddrv +"  ボリュームネーム["+ fs.GetDrive(cddrv).VolumeName +"]" +br+br;

 CdList(get_fld);

 file = fs.CreateTextFile(outputfile);
 file.Write(text);
 file.Close();
 


 if(WSHShell.Popup("出力したファイルを今開きますか?",0,"Y/N",65) != 2) {
     WSHShell.Run("notepad.exe "+outputfile);
  }

 WScript.Quit();




function CdList(drv) {
   var fld,fle,local_fld,dcount,str;
   var fld = new Enumerator(drv.SubFolders);

      for(; !fld.atEnd(); fld.moveNext()) {
          text += fld.item().Path + br;
          local_fld = fs.GetFolder(fld.item().Path);
          CdList(local_fld);
        }

      var fle = new Enumerator(drv.Files);
      for(; !fle.atEnd(); fle.moveNext()) {
        text += fle.item().Path +"        "+fle.item().Size+ "byte"+ br;
       }
}


function GetCdDrive(f) {
  var cd = "";
    for (; !enuDrv.atEnd(); enuDrv.moveNext()) {
        s = enuDrv.item();
        if(s.DriveType == 4) {
           cd  = s.Path;
           break;
         }
    }
 return cd;
}

/*
このプログラムは、CDドライブを自動検出して、
そのCDドライブのリストを作成しますが、
自動検出で検出されるドライブは、順番が前のドライブです。
例えば、P:とQ:のCDドライブが2つあった場合(仮想含む)、
例えば、Q:ドライブのリストを作成したくても、
P:のドライブのリストを作成してしまいます。
この様な場合には、cddrvに値を入力して下さい。

cddrv = "Q:"; //Qドライブのリスクを作成する

*/



[ Back ]