참고링크
http://fendee.egloos.com/10724476
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가 자동으로 종료된다.
첨부파일
'자바 일반' 카테고리의 다른 글
ArrayList.newInstance(); HashMap.newInstance(); (0) | 2015.01.09 |
---|---|
자바 현재 시간 구하기 (0) | 2014.11.20 |
간단한 java thread 사용방법.. (0) | 2014.11.13 |
MATLAB jar 파일 메모리 증가 이슈 (0) | 2014.10.20 |
자바에서 cmd 명령어 실행하기 (또는 외부 어플) (1) | 2014.09.12 |