참고링크

http://cappleblog.co.kr/565

http://fendee.egloos.com/10724476

http://www.mapoo.net/entry/bat-%EB%B0%B0%EC%B9%98%ED%8C%8C%EC%9D%BC-cmd%EC%B0%BD-%EA%B0%90%EC%B6%94%EA%B8%B0

http://www.diskool.com/?mid=pcman_qna&category=587148&document_srl=959823


1. ShutDown.java 파일을 이용해서 shutdown.jar 파일을 생성한다.


   
import java.io.IOException;
import java.io.SequenceInputStream;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Scanner;


public class ShutDown {

	/**
	 * @param args
	 * 특별한 입력값이 없으면 22시에 자동 종료
	 */
	public static void main(String[] args) {
		
		String settinghour = "22";
		if(args.length == 1){
			settinghour = args[0];
		}else{
			settinghour = "22";
		}
		
		while (true) {
			
			Calendar calendar = Calendar.getInstance();
	        java.util.Date date = calendar.getTime();
//	        String today = (new SimpleDateFormat("yyyyMMddHHmmss").format(date));
	        String hour = (new SimpleDateFormat("HH").format(date));
			System.out.println("HH:"+ hour);
			
			if(hour.equals(settinghour)){
				setShutDown();
				break;
			}else{
				try {
					Thread.sleep(60000);	
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
			}
			
			
		}
		

	}

	private static void setShutDown(){
		String[] cmd = new String[] {"shutdown", "/s", "/f", "/t", "60"};  // 60초후 자동 강제 종료 
//		String[] cmd = new String[] {"shutdown", "/a"};  // 종료 예약 취소
		try {
			Process process = new ProcessBuilder(cmd).start();
			// SequenceInputStream은 여러개의 스트림을 하나의 스트림으로 연결해줌.
			SequenceInputStream seqIn = new SequenceInputStream(process.getInputStream(), process.getErrorStream());		
			Scanner s = new Scanner(seqIn);
			while (s.hasNextLine() == true) {
				System.out.println(s.nextLine());
			}			

		} catch (IOException e) {
			System.out.println("종료예약 실패 : " + e.getMessage());
			e.printStackTrace();
		}
	}	
}

2. ShutDownRun.vbs 파일을 만들고 시작 프로그램에 등록한다. cmd  창이 보이지 않는다.


Set WinScriptHost = CreateObject( "WScript.shell" )

WinScriptHost.Run Chr(34) & "C:\temp\ShutDownRun.bat" & Chr(34), 0

Set WinScriptHost = Nothing


3. ShutDownRun.bat 


java -jar shutdown.jar 22




이렇게 하면 22시에 PC가 자동으로 종료된다.


첨부파일


shutdown.jar


ShutDownCancel.bat


ShutDownRun.bat


ShutDownRun.vbs


+ Recent posts