// カレントフォルダ内の .raw を bmp に一括変換するスクリプト // // usage : cscript raw2bmp_bat.js // // raw → bmp は、r2b.exe と spyz2bmp の2つを利用している。 // // Last updated: <2005/07/24 01:24:29 +0900> // by mieki256 // raw→bmp 変換ツール var convcmd1 = "r2b.exe"; var convcmd2 = "spyz2bmp.exe"; // 変換結果ファイル名に追加する文字列 var fnameadd1 = "_r2b.bmp"; var fnameadd2 = "_spyz2bmp.bmp"; // 作業用バッチファイル名 var tempconvfname = "____conv.bat"; // 変換対象拡張子 var targetext = "raw"; // 最初に表示するメッセージ var startmsg = "STV680 の RAW を BMP に一括変換します。\n"; // ----- 設定ここまで var fs = WScript.CreateObject("Scripting.FileSystemObject"); var WShell = WScript.CreateObject("WScript.Shell"); var Shell = WScript.CreateObject("Shell.Application"); var BIF_NEWDIALOGSTYLE = 0x0040; var inputFolderObj = Shell.BrowseForFolder(0, startmsg + "処理するフォルダを指定してください。", BIF_NEWDIALOGSTYLE); if(!inputFolderObj) { WScript.Echo("フォルダを選択してください"); WScript.Quit(); } var dirname = inputFolderObj.Items().Item().Path; // カレントフォルダ変更 WShell.CurrentDirectory = dirname; var f = fs.GetFolder("."); var stream = fs.CreateTextFile(tempconvfname); var fc = new Enumerator(f.Files); for(; !fc.atEnd(); fc.moveNext()) { var fname = fc.item().Name; var pos = fname.lastIndexOf("."); var base = fname.substring(0,pos); var ext = fname.slice(pos + 1); if(ext == targetext) { var fn1 = base + fnameadd1; var fn2 = base + fnameadd2; // 実行したいコマンド。 // ここを書き換えれば他の処理もできる var c1 = convcmd1 + " " + fname + " " + fn1; var c2 = convcmd2 + " " + fname + " " + fn2; // 作業バッチファイルに書き込み stream.WriteLine(c1); stream.WriteLine(c2); } } stream.Close(); // 作業用バッチファイルを実行 WShell.Run(tempconvfname, 1, true); // 処理が終わったはずなので、作業用バッチファイルを削除 fs.DeleteFile(tempconvfname); WScript.Quit();