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 ]