Macro/Åê¹Æ/160 ¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¥½¡¼¥¹(No.6)



* ¤¤¤í¤¤¤í¥Ñ¥¹¥¸¥ã¥ó¥×[#p37a55f6]
-¥Ú¡¼¥¸: [[Macro/Åê¹Æ]]
-ºî¼Ô: [[¥¬¥ó¥¸¥ã¥à]]
-¥«¥Æ¥´¥ê¡¼: js
-Åê¹ÆÆü: 2006-12-31 (Æü) 19:27:42

** ¥á¥Ã¥»¡¼¥¸ [#q7f4bf8b]
¥¿¥°¥¸¥ã¥ó¥×¤ÎÂå¤ï¤ê¤Ë»È¤¦¤È¥Ñ¥¹¤ò´ØÏ¢ÉÕ¤±¤Ç³«¤­¤Þ¤¹¡£
¥Ñ¥¹¤Ë¥Þ¥Ã¥Á¤µ¤»¤ëÀµµ¬É½¸½¤ÎÀºÅÙ¤¬¾å¤¬¤ê¤Þ¤·¤¿¡£
#code(javascript){{
//pathJump.js
//ÁªÂòÈϰϤ⤷¤¯¤Ï¥«¡¼¥½¥ë¹Ô¤Ë¤¢¤ë¥Ñ¥¹Ê¸»ú¤ËÂФ·°Ê²¼¤ÎÆ°ºî¤ò¤·¤Þ¤¹
//­¡GREP·ë²Ì¥¦¥£¥ó¥É¥¦¤Ç¤¢¤ì¤Ð¥¿¥°¥¸¥ã¥ó¥×
//­¢¥Õ¥©¥ë¥À¥Ñ¥¹¤Ç¤¢¤ì¤Ð¥¨¥¯¥¹¥×¥í¡¼¥é
//­£ÀßÄꤷ¤¿³ÈÄ¥»Ò¤Ç¤¢¤ì¤Ð¥µ¥¯¥é¥¨¥Ç¥£¥¿¡¢¤½¤ì°Ê³°¤ÏWINDOWS´ØÏ¢ÉÕ¤±
//
//¥Ñ¥¹¤¬UNC¥Ñ¥¹¤â¤·¤¯¤Ï¥Í¥Ã¥È¥ï¡¼¥¯³äÅö¤Æ¥É¥é¥¤¥Ö¤Î¾ì¹ç¡¢¥½¡¼¥¹Æâ¤Î
//"foobarhoge"¤Î¶¦Í­Ì¾¤òÊѹ¹¤¹¤ë¤³¤È¤Ç¥¢¥¯¥»¥¹¤òÀ©¸Â¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

windowTypeCnt();
function windowTypeCnt() {
	var windowType = Editor.ExpandParameter("${w?0$:1$:2$");
	if (windowType == 0) {
		Editor.TagJump();
	} else {
		pathJumpMain();
	}
}

function pathJumpMain() {
	var path = Editor.GetSelectedString(0);
	var reg0 = /(?:.*?)([A-Z]:\\|\\\\[1A-Z])(.*?)(?:[\f\t\v\x<>":,]|(?:¡¡|\s){2,})(?:.*)/i;	//"
	//foobarhoge¤ò¥¸¥ã¥ó¥×À©¸Â¶¦Í­Ì¾¤Ë
	var reg1 = /\\\\foobarhoge/i;

	if(!path) {
		path = Editor.GetLineStr(0);
	}
	path = path.replace(reg0, "$1$2");

	if (reg1.test(path)) {
		propMsg(1, path);
	} else {
		jumpCnt(path);
	}
}

function jumpCnt(p) {
	var objSL = new ActiveXObject("WScript.Shell");
	var objFS = new ActiveXObject("Scripting.FileSystemObject");
	
	if (objFS.DriveExists(objFS.GetDriveName(p))) {
		var d = objFS.GetDrive(objFS.GetDriveName(p));
		if (d.DriveType == 3) {
			var sh = d.ShareName.toLowerCase();

			//foobarhoge¤ò¥¸¥ã¥ó¥×À©¸Â¶¦Í­Ì¾¤Ë
			if(sh.indexOf("foobarhoge") != -1) {
				propMsg(2, p);
				return(false);
			}
		}
	}
	if (objFS.FolderExists(p)) {
		objSL.Run('"'+ p +'"');
	}
	else if (objFS.FileExists(p)) {
		var ext = objFS.GetExtensionName(p);
		var lowerext = ext.toLowerCase();
		switch (lowerext) {
			case "txt":		//¥µ¥¯¥é¥¨¥Ç¥£¥¿¤Ç³«¤­¤¿¤¤³ÈÄ¥»Ò
			case "log":
			case "dat":
			case "ini":
			case "sql":
			case "js":
			case "vbs":
			case "mac":
			case "pl":
					Editor.FileOpen(p);
					break;
			default:
					objSL.Run('"'+ p +'"');
		}
	} else {
		propMsg(3, p);
	}
	objSL = null;
	objFS = null;
}

function propMsg(n, path) {
	var ie = new ActiveXObject("InternetExplorer.Application");
		ie.Navigate("about:blank");
	var window = ie.Document.parentWindow;
	var msg = "¥«¡¼¥½¥ë¹ÔorÁªÂòÈϰϤ«¤éÃê½Ð¤·¤¿²¼µ­¤Î¥Ñ¥¹Ê¸»úÎó¤Ï¡¢";

	switch (n) {
		case 1: msg = msg+"¥¢¥¯¥»¥¹ÉԲĤζ¦Í­Ì¾¤Ç¤¹";break;
		case 2: msg = msg+"¥¢¥¯¥»¥¹ÉԲĤζ¦Í­¥Ñ¥¹³äÅö¥É¥é¥¤¥Ö¤Ç¤¹";break;
		case 3: msg = msg+"¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó";break;
		case 4: msg = msg+"¥É¥é¥¤¥Ö¤¬ÍøÍѤޤ»¤ó";break;	
		default: msg = "ÉÔÌÀ¤Ê¥¨¥é¡¼¤Ç¤¹";break;
	}
	var st = window.prompt(msg,path);
	window = null;
}

}}

----

#comment

    ¥Û¡¼¥à °ìÍ÷ ñ¸ì¸¡º÷ ºÇ½ª¹¹¿· ¥Ð¥Ã¥¯¥¢¥Ã¥× ¥ê¥ó¥¯¸µ   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS