Windows 시스템 스 크 립 트 (jscript)

3655 단어
최근 에 간단 한 도 구 를 만들어 서 파일 이름 을 자동 으로 바 꾸 려 고 하 는데 어떻게 windows 원생 셸 이 너무 닭 갈비 라 서 vbs 를 사용 할 수 밖 에 없 었 습 니 다. 그러나 vb 의 많은 문법 규칙 을 이해 할 수 없 었 습 니 다. 게다가 이상 한 풍토 에 맞지 않 는 코드 스타일 로 jscript 를 쓸 수 밖 에 없 었 습 니 다. 처음에 jscript 를 사용 하지 않 는 것 도 마이크로소프트 api 문서 가 부족 하기 때 문 입 니 다.다시 말 하면 jscript 는 windows 친아들 이 아니 라 대부분 기능 은 ActiveXObject 에 의 해 이 루어 집 니 다. 상대 적 인 vbs 는 알림 상자 msgbox 함수 와 같이 훨씬 간단 합 니 다. 만약 에 이 상 자 를 치기 위해 vbs 를 추천 합 니 다.
다음은 각 중요 대상 의 생 성 방법 을 제시 합 니 다. 구체 적 인 방법 과 속성 은 msdn 에 관련 문서 가 있 습 니 다.문서 에 구멍 이 있 습 니 다. 문 서 는 속성 이 jscript 에서 방법 일 수도 있 고 반대로 vbs 를 대상 으로 쓴 문서 이기 때 문 입 니 다.
아래 열거 한 대상 을 나 도 봉 인 된 대상 을 썼 는데, 직접 사용 하 는 것 보다 조작 이 훨씬 편리 하 다.
jscript 파일 시스템 대상:
WScript.CreateObject("Scripting.FileSystemObject");
파일 읽 기 작업 디 렉 터 리 에 필요 한 대상
Regexp 대상 의 사용 은 자바 script 과 완전히 같 습 니 다.
다만 windows 는 정규 고급 특성 에 대한 지원 이 이상 적 이지 않 습 니 다. 예 를 들 어/(? = windows) 2000/역방향 예비 검 사 는 지원 되 지 않 습 니 다./(? dance)/이름 그룹 은 지원 되 지 않 습 니 다. 기본적으로 ie9 의 정규 지원 과 일치 합 니 다.
jscript Excel 대상
관련 속성 방법 이 너무 많 습 니 다. msdn 을 직접 찾 아 보 세 요.
WScript.CreateObject("Application.Excel");
jscript WShell 대상
WScript.CreateObject("WScript.Shell");
이 대상 의 popup 방법 은 팝 업 대화 상자 등 기능 을 수행 할 수 있 습 니 다.windows jscript alert 방법.
jscript 인터넷 탐색 대상
WScript.CreateObject("InternetExplorer.Application");
이 대상 은 ie 브 라 우 저 대상 을 얻 을 수 있 습 니 다. 일부 사이트 에 자동 으로 접근 하 는 스 크 립 트 를 작성 할 수 있 습 니 다. document 속성 조작 페이지 를 통 해 자바 script 과 똑 같 습 니 다.
이에 대해 저 는 Jscript 버 전의 css 선택 기 를 실 현 했 습 니 다. 지원 이 완선 되 지 않 지만 수 동 으로 dom 요 소 를 찾 는 것 보다 n 배 편리 합 니 다.
클래스 이름, id, tagname, 속성 선택 기 지원
요소 계승 관계 에 대해 서 는 후대 선택 과 > 선택 기 를 지원 합 니 다.
Finder 는 인터넷 탐색 기 대상 에서 가 져 온 document 을 전송 해 야 합 니 다.
다음은 코드.
function Finder(docu){
	//将document与对象关联
	this.docu=docu;
	this.indexOf=function(arr,n){
		for(var i=0;i#\.\[]/)){
			throw "选择器语法错误";
		}
		if(selector.match(/^[^\s>]/)){
			selector=" "+selector;
		}
		context=context?context:this.docu;
		if(context.nodeType!=1){
			var testId=/^\s*#([\w\d\-_]+)\s*$/;
			var m=selector.match(testId);
			if(m!=null){
				return [context.getElementById(m[1])];
			}else{
				context=context.body;
			}
		}
		var data=this.parseData(selector);
		var waitValid=[];
		if(data.childType==">"){
			waitValid=context.children;
			waitValid=this.filter(waitValid,data);
		}else if(data.id||data.attr){
			function getAllChildren(node,call,that,data){
				var selfChildren=node.children;
				for(var i=0;i])([\-_\w\d]+)?(#[\w\d\-_])?((?:\.[\-_\w\d]+)*)((?:\[[^\]]+\])*)/;

 

좋은 웹페이지 즐겨찾기