////////IP和整数互换 {s11ss 2007-12-14}////////
var str,re,n=new Array(),i,answer=0,q,r;
if(WScript.Arguments.Count()<1) {
WScript.Echo("IP<->Integer\n"
+"e.g.:\n"
+"1.cscript/nologo \""+WScript.ScriptFullName+"\" 127.0.0.1\n"
+"2.cscript/nologo \""+WScript.ScriptFullName+"\" 2130706433\n");
WScript.Quit();
}
str=WScript.Arguments(0);
//IP转整数:
re=/^(\d{1,2}|\d{2}|2\d|25)\.(\d{1,2}|\d{2}|2\d|25)\.(\d{1,2}|\d{2}|2\d|25)\.(\d{1,2}|\d{2}|2\d|25)$/gi;
if(re.test(str)) {
n=RegExp.$1;
n=RegExp.$2;
n=RegExp.$3;
n=RegExp.$4;
for(i=1;i<=4;i++) answer=answer+parseInt(n)*Math.pow(256,(4-i));
WScript.Echo("IP "+str+" 对应的整数为: "+answer);
WScript.Quit();
}
//整数转IP:
re=/^\d+$/gi;
if(re.test(str)) {
q=parseInt(str);
answer="";
while(q!=0) {
r=q%256;
q=parseInt(q/256);
if(answer=="") answer=r.toString(); else answer=r.toString()+"."+answer;
}
WScript.Echo("整数 "+str+" 对应的IP为: "+answer);
WScript.Quit();
}
WScript.Echo("参数有误!只能为整数或IP!")