|
Last-modified: 2015-01-04 (日) 13:10:16 (3613d)
動画1ファイルを無作為に再生したい場合に。 // // ランダム再生 // // @author Jomora(kazuhiko@jomura.net) // @version 2009.11.05 初版作成 //再生ファイルを再帰検索する親フォルダ var targetFolder = "E:/video"; //再生用アプリケーション var playerPath = "\"C:/Program Files (x86)/GRETECH/GomPlayer/GOM.exe\""; //**Start Encode** if (WScript.Arguments.length != 0) { targetFolder = WScript.Arguments(0); } //main var fso = WScript.CreateObject("Scripting.FileSystemObject"); var rootFolderObj = fso.GetFolder(targetFolder); var arr = new Array(); GetFileList(rootFolderObj, arr); var filepath = RandomSelect(arr); Play(filepath); WScript.Quit(0); //functions function GetFileList(folderObj, arr) { var i = new Enumerator(folderObj.Files); for (; !i.atEnd(); i.moveNext()) { arr.push(i.item().Path); } var j = new Enumerator(folderObj.SubFolders); for (; !j.atEnd(); j.moveNext()) { GetFileList(j.item(), arr); } } function RandomSelect(arr) { var index = Math.floor(Math.random() * (arr.length)); return arr[index]; } function Play(filepath) { var shell = WScript.CreateObject("WScript.Shell"); shell.Run(playerPath + " \"" + filepath + "\""); } 下記のように変えると、再生アプリの起動後に自動キー操作をすることもできると。 function Play(filepath) { var shell = WScript.CreateObject("WScript.Shell"); var exec = shell.Exec(playerPath + " \"" + filepath + "\""); while (shell.AppActivate(exec.ProcessID)) { WScript.Sleep(100); } WScript.Sleep(5000); shell.SendKeys("^x"); shell.SendKeys("^x"); } |