動画1ファイルを無作為に再生したい場合に。

#ref(RandomPlay.js);

 //
 // ランダム再生
 //
 // @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");
 }


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS