+ Recent posts

728x90
반응형

안녕하세요.

쉐어스퀘어

입니다.

 

가끔 PC를 켜실 때 윈도우 진입음이 너무 커서

 

깜짝 놀랐던 적이 있으셨나요?

 

전날에 영화를 봐서 너무 소리를 크게 해 놨었구나.. 하면서

 

기억도 떠올려보시고..^^;;

 

그런 불편함이 없게끔 PC를 켤 때 음소거를 한 채로 시작할 수 있다면?

 

이렇게 놀라는 상황은 일어나지 않겠죠?

 

오늘은 PC를 켤 때 

 

음소거가 된 채로 윈도우로 진입할 수 있도록 

 

vbs 파일과 작업 스케줄러 기능을 활용해서 구현하는 방법에 대해 

 

알려드리겠습니다. 

 

1. 음소거 기능을 실행할 vbs 파일 만들기

vbs 파일은 Visual Basic Script 의 약자로서 

 

Visual Basic 언어를 활용해서 PC를 제어하는 스크립트 파일을 말합니다. 

 

이 파일을 이용해서 배치파일(.bat)을 화면 표출 없이 백그라운드로 

 

실행할 수도 있습니다. 

 

해당 방법에 대해서는 지난 콘텐츠로 안내드렸습니다. 

 

필요하신 분들은 아래의 링크를 참조하시기 바랍니다. 

 

https://itchapter.tistory.com/17

 

[배치파일(.bat) 정보공유]배치 파일 실행 시 보안 경고/알림창 표출 안되게 하는 방법 및 배치 파

안녕하세요. 쉐어스퀘어 입니다. 지난 강의에서는 작업 스케쥴러를 배치 파일로 등록하는 방법에 대해 설명드렸고, 작업 스케줄러에서 상세 속성들 포함 한 줄의 명령어로 생성하기 위해 마이

itchapter.tistory.com

 

자! vbs 파일을 만들어 보겠습니다. 

 

파일명은 sound_off.vbs 입니다. 

 

빈 텍스트(.txt) 파일을 하나 만드시고, 

 

sound_off.vbs 로 파일명 및 확장자명을 변경합니다. 

 

파일을 사용할 수 없다는 경고창이 표출돼도, 예! 누르고 진행합니다. 

 

만약 파일의 확장자가 보이시지 않다면 

 

폴더 옵션에 가셔서 아래와 같이 해당 부분의 체크를 풀어주셔야 합니다. 

 

참고하시고요. 

 

아래와 같이 sound_off.vbs 파일을 생성해 주시고, 

 

파일 우클릭 선택 > 편집을 누르신 후 

 

아래의 스크립트를 입력하시고, 저장하시면 됩니다. 

 

set shell = CreateObject("WScript.Shell")
shell.run"Sndvol"
WScript.Sleep 1500
shell.SendKeys"{TAB}"
shell.SendKeys" "
shell.SendKeys"%{F4}"

그렇게 만들어진 sound_off.vbs 를 실행하시면 

 

아래에 보시는 것과 같이 PC가 음소거 처리되는 것을 보실 수 있습니다.

 

 

2. 작업 스케줄러 기능을 활용 윈도우 진입 시, 음소거 처리 vbs 파일 실행 스케줄 등록

 

이제는 만든 sound_off.vbs 파일을 

 

윈도우 시작 시 자동 실행되도록 작업 스케줄러에 등록을 해주시면 됩니다. 

 

먼저! 작업표시줄 좌측 아래에 있는 윈도우 로고를 누르시고, 

 

작업 스케줄러를 검색하셔서, 실행합니다. 

 

실행 후에 일반 탭에서는 작업명을 입력해 주시고, 

 

맨 아래 있는 

 

"가장 높은 수준의 권한으로 실행"을 체크해 줍니다.

 

그리고 윈도우 시작 시 라는 이벤트를 설정하는 것은

 

트리거 탭에서 진행합니다.

 

 

작업 시작 옆 콤보 박스에서 "시작할 때"를 선택해 주시면 되고요,

 

동작 탭에서 아까 만든 sound_off.vbs 파일을

 

아래와 같이 등록해 주시면 됩니다. 

 

 

모든 설정을 마치신 후, 우측 아래에 있는 확인 버튼을 눌러주시면 됩니다.

 

위의 모든 과정을 진행하시고,

 

재부팅을 진행해 보시면 음소거가 자동으로 처리돼서 

 

윈도우 진입음 없이 윈도우가 조용히 시작되는 것을 보실 수 있습니다. 

 

유익한 내용이 되셨길 바랍니다 :)

 

이상

쉐어스퀘어

였습니다.

 

감사합니다! 

 

오늘의 글이 도움이 되셨다면, 
하단의 공감, 구독 버튼을 꾸욱 눌러주시면 

IT관련해서 더 유용한 글을 제가 작성하는데에 
큰 힘이 됩니다 :) 
감사합니다.


 

728x90
반응형
728x90
반응형

안녕하세요.

쉐어스퀘어

입니다.

 

지난 강의에서는 

 

 

작업 스케쥴러를 배치 파일로 등록하는 방법에 대해 설명드렸고, 

 

작업 스케줄러에서 상세 속성들 포함

 

한 줄의 명령어로 생성하기 위해 

 

마이크로소프트(Microsoft) 안내 매뉴얼을 참고해서 알아보시고

 

만드시는 방법까지 안내드렸습니다. 

 

지난 강의가 궁금하시면 

 

아래의 링크를 참조하시기 바랍니다. 

 

https://itchapter.tistory.com/7

 

 

[배치파일(.bat) 정보공유]PC에서 주기적, 반복적인 처리를 위한 작업스케줄러(SchTasks) 등록 배치파

안녕하세요. 쉐어스퀘어 입니다. 지난 강의에서는 네트워크 드라이브를 임의의 알파벳으로 연결하는 방법 파일 존재 유무를 체크하는 조건문을 생성해서, TRUE/FALSE에 따라 파일을 복사하거나,

itchapter.tistory.com

 

자! 오늘은 배치 파일을 만들어서 실행하실 때 

 

이상 행위로 운영체제(OS) 에서 인식하여

 

정말 실행할 건지? 물어보는 보안 경고창이 보통 표출됩니다. 

 

이에 대해 보안 경고창이 표출되지 않도록 

 

설정하는 방법에 대해 안내드리고,

 

배치 파일을 보통 실행하시면 

 

아래와 같이 표출되면서 명령들이 주르륵~ 실행됩니다.

 

이렇게 검정 화면도 표출하지 않고, 

 

백그라운드로 보이지 않게 실행하도록 

 

실행 파일을 만드는 방법에 대해서도 알려드리고자 합니다.

 

<첫번째> 배치파일 실행 시 보안 경고창 표출 부분 예외 처리

 

배치 파일 실행 시 보안 경고창이 표출되지 않도록 하기 위해서는 

 

PC의 레지스트리 값을 변경해 주어야 합니다.

 

레지스트리 값을 변경하시기 전에 유의사항이 있습니다.

 

바로 레지스트리 값은 PC 운영에 전반적인 설정값들이 모여 있는 곳이기 때문에

 

특정 값을 잘못 변경하시면 PC 사용에 치명적인 오류가 발생할 수 있습니다.

 

따라서 레지스트리 변경 전에는 정말 변경할 건지? 해도 되는지? 

 

충분히 검토하신 후 진행을 하셔야 하고요

 

만약 하시게 되면 그전에 해당 레지스트리 폴더를 백업해 두시고

 

문제 상황 발생 시 해당 백업 파일(.reg)로 다시 복구를 해주실 수 있어야 합니다.

 

레지스트리 백업/복구 방법에 대해 아래의 링크로 안내드리오니,

 

한 번 읽어보시고 숙지해 두시면 PC의 안정적인 관리에 도움이 되실 겁니다.

 

https://itchapter.tistory.com/16

 

[PC설정변경]레지스트리 변경 시 유의사항(regedit) 안내

안녕하세요. 쉐어스퀘어 입니다. 오늘 다뤄볼 주제는 레지스트리 편집 시 유의할 점입니다. 보통 구글링이나, 서치를 통해 많은 자료들을 보면 문제 상황 발생 시 레지스트리 변경을 시도하도록

itchapter.tistory.com

 

다시 본론으로 돌아와서

 

아래의 명령어를 배치 파일에 넣고, 실행해 주시면 됩니다. 

 

rem 레지스트리 등록(.bat 파일 실행 시 오류 메세지 표출 안되도록) 
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Associations" /f
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Associations" /v "ModRiskFileTypes" /t REG_SZ /d ".bat;" /f

 

배치파일 생성 방법은 이전에 안내해 드린 강의가 있으니 

 

참고하시기 바랍니다. 

 

https://itchapter.tistory.com/3

 

[배치파일(.bat) 정보공유]필요한 PC 명령들을 하나의 파일에 담아 실행할 수 있게 하는 배치파일(.

안녕하세요. 쉐어스퀘어 입니다. 어느덧 가을이 왔습니다. 공기가 시원해지고, 저녁이 되면 추위가 느껴질 정도로 기온이 내려가기도 하네요. 이럴 때 감기 걸리기가 좋은 것 같습니다. 감기 조

itchapter.tistory.com

 

배치 파일 생성 없이도 실행할 수 있는 방법은 있습니다. 

 

작업 표시줄 좌측 하단의 윈도우 로고를 누르시고, 

 

cmd 를 검색하신 후 

 

명령 프롬프트 실행 메뉴가 보이면 

 

우클릭 > 관리자 권한으로 실행을 선택하신 후 

 

 

명령 프롬프트 창이 열리면

 

위의 명령들을 복사하신 후 

 

검정 화면상에 커서를 이동(클릭!) 해 주시고 

 

우클릭을 한번 뚝! 눌러주시면 됩니다. 

 

그러면 주르륵~ 하고 실행됩니다.

 

 

<두번째> 배치파일을 백그라운드로 실행하도록 실행 파일 생성 방법

 

자! 배치 파일을 만들었는데 

 

실행할 때마다 검정 화면이 표출되면서 이상한 명령어가 주르륵~ 나온다면 

 

클라이언트 입장에서 봤을 때

 

뭔가 이상한 작업을 하는 것과 같은 불안이 들지 않을까요? 

 

본인 PC에 하는 거라면 괜찮겠지만 만약 고객이나, 같은 직원 PC에

 

실행하게 되는 상황이라면 "이게 뭐냐는?.." 많은 문의가 들어올 수 있습니다.

 

그리고 본인도 나중에 배치 파일 실행에 대한 기억을 잊어버리게 되면 

 

"이게 뭐지?.." 하고 당황하실 수 있습니다. 

 

이런 경우 배치 파일을 백그라운드로 실행하게 해서 

 

어차피 정상적인 처리를 위한 것이기 때문에 그런 불안감 해소만 되면 되니까

 

그렇게 처리하도록 하는 방법이 있습니다. 

 

설명드리겠습니다!

 

간단하니까 단계별로 따라 해 주세요.

 

① 생성한 배치파일에 대해 바로가기 파일을 만듭니다. 

앞서 만든 배치파일을 우클릭하신 상태로 빈 영역으로 드래그하신 후

 

여기에 바로 가기 만들기(S) 메뉴를 선택해 주시면 됩니다. 

 

 

그러고 나서 빈 파일을 하나 만드시고, 

 

확장자를 .vbs 로 만들어 주세요. 

 

.vbs 란 비주얼베이직 스크립트의 줄임말인데,

 

쉽게 말해 비주얼베이직 스크립트 언어로 

 

프로그래밍한 파일을 윈도우 상에서 실행시킬 수 있는 것입니다.

 

그래서 예전에는 .vbs를 활용해서 해커들이 많은 악성 코드들을 배포/실행했었다고 합니다.

 

그러나 최근에는 .vbs 파일 같은 것에 대해

 

브라우저 상에서 다운로드를 하지 않도록 보안 경고창 표출 또는 

 

아예 다운로드하지 않도록 막고 있기도 하고

 

또한 백신 프로그램들이 실시간 체크를 잘하고 있어서

 

현재에는 이를 통한 악성코드 배포/감염 사례는 별로 발생하지 않고 있다고 합니다.

 

이번에 .vbs를 다루면서 " 아! PC에 무언가 일괄적인 작업을 할 때 

 

반복적인 작업이나, 뭔가 프로그래밍 적인 요소를 넣어서 PC를 제어하고 싶으면 

 

이걸 사용할 수 있겠구나?" 하는 생각이 들어서 더 연구해 볼 생각입니다 :) 

 

다시 본론으로 들어와서 !

 

자! .vbs 확장자로 파일을 하나 만드셨으니까

 

이제는 해당 파일을 우클릭 > 편집 버튼을 누르셔서 

 

아래의 내용으로 간단히 코딩? 해주시면 됩니다.

 

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "[바로가기 파일명까지의 전체 경로]" & Chr(34), 0
Set WshShell = Nothing

 

""는 꼭 넣어주셔야 하고,

 

[바로가기 파일명까지의 전체 경로]란 

 

D드라이브에 있는 setting.bat - 바로 가기 파일이라면

 

"" 안에 D:\setting.bat - 바로 가기 로 넣어주시면 됩니다.

 

이렇게 명령어를 입력해 주신 후 저장해 주시고, 

 

.vbs  파일을 실행해 주시면 검은색 배치 파일 실행창이 뜨지 않고,

 

보이지 않는 상태로 백그라운드 실행을 하게 됩니다. 

 

자! 오늘은 배치 파일을 실행할 때 표출되는 보안 경고창을

 

안 보이게 처리하는 방법과 

 

배치 파일 실행을 보이지 않게 

 

백그라운드로 실행하는 방법에 대해 알아보았습니다. 

 

많은 도움이 되셨으면 좋겠고요! 

 

궁금하신 게 있으시면 언제든 댓글로 문의하시면 됩니다. 

 

답변드리겠습니다.

 

이상

쉐어스퀘어

였습니다.

 

오늘의 글이 도움이 되셨다면, 
하단의 공감, 구독 버튼을 꾸욱 눌러주시면 

IT관련해서 더 유용한 글을 제가 작성하는데에 
큰 힘이 됩니다 :) 
감사합니다.


 

728x90
반응형
728x90
반응형

안녕하세요.

쉐어스퀘어

입니다.

지난 강의에서는 네트워크 드라이브를 임의의 알파벳으로 연결하는 방법

파일 존재 유무를 체크하는 조건문을 생성해서, TRUE/FALSE에 따라

파일을 복사하거나, 메세지만을 표출하고 종료하도록 하는 배치 파일 예제를 설명드렸었고,

한글이 포함된 배치 파일을 작성하여 실행하는 경우 흔히 발생할 수 있는 인코딩 문제에 대해 말씀드리면서

UTF-8 이 아닌 ANSI 로 인코딩 설정을 바꿔주어 한글에 대한 처리도

정상적으로 할 수 있도록 하는 노하우를 전해드렸습니다.


자세한 내용은 아래의 링크를 참조하세요.

[아래 링크 참조▼]

https://itchapter.tistory.com/5

 

[배치파일(.bat) 정보공유]네트워크 연결, 파일 존재 여부에 따른 처리( 조건문)가 포함된 배치파

안녕하세요. 쉐어스퀘어 입니다. 지난 강의에서는 배치 파일의 정의, 사용 목적, 배치 파일 생성 방법에 대해 알아보았습니다. [아래 링크 참조▼] https://itchapter.tistory.com/3?category=1071190 [배치파일

itchapter.tistory.com


자 ! 오늘은

작업 스케줄러를 배치 파일을 통해 등록하는 방법에 대해 알아보려 합니다.

작업 스케줄러를 직접 찾아가서 설정하면 되지 왜 배치 파일을 이용해서 설정을 하려고 하냐고 물어보실 수 있습니다.

그에 대한 답변을 드리자면 현재 제가 안내를 드리고 있는 배치 파일 활용#1 부터 ~~~ 강의들은

단일 PC, 개인 PC에서 일회성으로 사용하기 위한 방법만 고려해서 설명드리고 있지 않습니다.

관리하는 많은 PC에 주기적으로 원하는 작업들을 하도록 하게 하고 싶은데,

그걸 하나씩 하려고 하면 정말 시간이 많이 걸립니다. 제가 관리하는 PC가 100대 정도가 되는데

거의 일주일에서 열흘 정도가 걸립니다. 다른 업무도 해야 하는데 정말 힘들고 지치지요.

그래서 배치 파일을 이용해서 하면 웬만한 설정들을 할 수 있기 때문에 제가 아는 범위 내에서

실용적인 부분들을 기능별로 나누어서 알려드리고 있습니다.

몇 가지 되지 않지만 배치 파일에 대한 제 콘텐츠를 개념으로 숙지하시고 나면

조금 더 편하게 PC를 제어할 수 있게 되실 거라고 확신합니다.

또 말이 길었네요 ;;^^

오늘 알려드릴 작업 스케줄러에 작업을 등록하게 하는 배치 명령은 아래와 같습니다.

SchTasks /Create /TN "[작업 스케줄러명]" /TR "[실행 파일명]" /ST 09:15 /RL HIGHEST /sc weekly /mo 1 /d MON,TUE,WED,THU,FRI /f

한 줄로 길게 보면 무엇인지 눈에 들어오지 않기 때문에 분할해서 하나씩 설명드리겠습니다.

SchTasks /Create :: 작업스케줄러의 작업을 생성한다.
/TN "[작업스케줄러명]" :: 작업명을 정의한다.
/TR "[실행파일명]" :: 실행파일을 지정한다.
/ST 09:15 :: 시작시간을 지정한다.
/RL HIGHEST :: 관리자 권한(최고 권한)으로 실행한다.
/sc weekly :: 매주
/mo 1 :: 매 1주마다
/d MON, TUE, WED, THU, FRI :: (월, 화, 수, 목, 금요일) 에만
/f :: 중복된 작업이 있더라도 강제로 재생성 한다. (작업을 덮어쓰기 한다. / 강제 실행 명령)

※ 대괄호 부분을 제외한 나머지 부분은 동일하게 입력해 주셔야 합니다.

(포맷 오탈자 없도록 철저하게 입력, 쓸데없는 공백 생성하지 않기)

어느 정도 이해가 되시지요? 완벽하게 이해하지 않으셔도 됩니다.

계속 반복해서 보시다 보면 조금씩 이해가 되실 겁니다.

작업 스케줄러는 위의 예시에 있는 것으로 모두 담기지 않습니다.

상황에 따른 많은 옵션과 설정 명령들이 있습니다.

아래에 링크를 남겨 놓겠습니다.

https://learn.microsoft.com/ko-kr/windows-server/administration/windows-commands/schtasks-create

 

매개 변수 만들기

작업을 자동화하는 schtasks create 명령에 대한 참조 문서입니다.

learn.microsoft.com


위 사이트는 마이크로소프트 사에서 제공하는 정보 사이트입니다.

작업 스케줄러를 배치 파일을 만들고 싶으실 때 이곳에 정보가 다 있으니 원하는 설정 내용을 찾으시고,

동일한 방법으로 구분을 완성하셔서 등록해 주시면 됩니다.

자! 오늘은 작업 스케줄러를


이렇게 직접 검색해서 열고 들어가서, 또 설정을 일일이 클릭하면서 하고, 작업명을 입력하고..

하는 과정 없이 배치파일을 통해 한 번에 딱! 등록하는 방법에 대해 알아보았습니다.

사용해 보시면 정말 편하실 겁니다.

제가 나누어 드리는 내용들이 조금이라도 도움이 되었으면 좋겠습니다 :)

다음 시간에는 배치 파일을 실행하도록 명령을 내리고 싶은데,

마치 오류가 발생하거나, 이상 행위를 하는 것처럼 보안 안내창이 표출이 되는 경우에 대해

안내창이 표출되지 않도록 레지스트리 설정을 변경해 주는 스크립트를 배치 파일에 포함시키는 것과

배치 파일을 실행할 때 검정창이 뜨면서 주루룩~~~~ 화면이 보여지는 부분 없이

백그라운드에서 조용히 처리하고 싶다면 어떻게 해야할지에 대해서

방법을 안내 드리고자 합니다.


다음 강의 때 뵙겠습니다.

이상

쉐어스퀘어

였습니다.

감사합니다.

 

오늘의 글이 도움이 되셨다면, 
하단의 공감, 구독 버튼을 꾸욱 눌러주시면 

IT관련해서 더 유용한 글을 제가 작성하는데에 
큰 힘이 됩니다 :) 
감사합니다.


 

728x90
반응형
728x90
반응형

안녕하세요. 

 

쉐어스퀘어

입니다. 

 

지난 강의에서는 배치 파일의 정의, 사용 목적, 배치 파일 생성 방법에 대해 알아보았습니다. 

 

[아래 링크 참조▼] 

 

https://itchapter.tistory.com/3?category=1071190

 

[배치파일(.bat) 정보공유]필요한 PC 명령들을 하나의 파일에 담아 실행할 수 있게 하는 배치파일(.

안녕하세요. ITWriter 입니다. 어느덧 가을이 왔습니다. 공기가 시원해지고, 저녁이 되면 추위가 느껴질 정도로 기온이 내려가기도 하네요. 이럴 때 감기 걸리기가 좋은 것 같습니다. 감기 조심하

itchapter.tistory.com

 

이제는 배치 파일에 원하는 작업들을 하나하나 넣는 방법들에 대해 알아보겠습니다. 

 

오늘 나눌 내용은

 

특정 네트워크(공유 폴더)로 연결해서

네트워크 상의 배포하고자 하는 파일이 로컬 PC에 있는지 존재 여부를 확인한 후

없으면 복사를 하도록 하는" 배치 파일을 생성하는 방법입니다.

 

자 ! 시작해 봅시다! 

 

1. 네트워크(공유 폴더) 연결 

 

192.168.111.11 이라는 네트워크 상에 있는 down이라는 폴더에 연결하는 것을 가정해 봅시다. 

 

그리고 접근 권한으로 ID 는 itwriter PW는 itisfun 로 가정해 볼게요. 

 

접근 명령은 아래와 같습니다. 

 

net use S: \\192.168.111.11\down "itisfun" /user:itwriter

 

환경에 따라 수정이 필요한 부분은 대괄호로 묶었고, 빨간색 부분은 그대로 입력해 주시면 됩니다. 

 

net use [네트워크드라이브명(알파벳)]: [네트워크IP포함 참조경로] "[네트워크암호]" /user:[사용자ID]

 

하나의 예시일 뿐이지 사용자 ID와 PW를 넣는 방법은 다양합니다.(구글링 해보시면 여러 예제가 있습니다.) 

 

그리고 네트워크 드라이브 Alias 알파벳명 같은 경우

 

사용자들이 잘 사용하지 않을 것 같은 알파벳으로 선택해서 하시는 게 좋습니다.

 

2. 특정 경로에 파일이 있는지 존재 여부 확인 후, 파일 존재 유무에 따른 복사/붙여 넣기 

 

특정 경로에 파일이 있는지에 대한 존재 여부를 확인하기 위해서는

 

있는지? 없는지? 상황이 존재하기 때문에 조건문 사용이 필요합니다. 

 

보통 개발자분들이 흔히 쓰시는 IF문을 예로 들어 설명드리겠습니다. 

 

배치 파일 스크립트 문법상 IF 문의 형태는 

 

IF [조건절] (
                       {처리 내용 1}
) ELSE (
                       {처리 내용 2}

 

입니다.

 

그리고 파일의 존재 여부 확인은

 

EXIST "[파일 전체 경로]"

 

입니다. 

 

위 내용을 조합해서 로컬 PC의 C드라이브의 utility라는 폴더에 video1.avi라는 파일이 있는지 여부를 확인해서 

 

존재하는 경우 "해당 파일이 존재합니다. 덮어쓰기를 진행하겠습니다" 

 

그리고 

 

존재하지 않는 경우 "해당 파일이 존재하지 않습니다. 복사를 진행하겠습니다"

 

결과가 표출되도록 하는 스크립트를 짜 보겠습니다. 

 

IF EXIST "C:\utility\video.avi" (
    echo 해당 파일이 존재합니다. 덮어쓰기를 진행하겠습니다
) ELSE (
   echo 해당 파일이 존재하지 않습니다. 복사를 진행하겠습니다"
)

 

이렇게 구성한 스크립트를 실행해 보면 해당 경로에 파일이 없기 때문에

 

아래와 같이 결과 내용이 표출됩니다. 

보니 가장 아래 부분에 48초 기다리는 중, 계속하려면 아무 키나 누르십시오 ... 가 표출되고 있는데 

 

궁금하지 않으신가요? 바로 일정 시간 딜레이를 생성하는 timeout 명령어입니다. 

 

timeout 뒤에 딜레이 시간(초)을 입력을 해주시면 되고

 

배치 파일 실행 시 그 시간(초) 만큼 다음 스크립트로 넘어가지 않고 프로세스가 대기 상태에 머무르게 됩니다.

 

이런 명령어 정보들은 굳이 외우실 필요가 없습니다. 정보가 너무 많은 세상인 만큼 

 

구글에서 영문으로, 한글로 필요하신 정보들을 검색해서 응용해주시면 됩니다. 

 

3. 파일 복사/덮어쓰기 명령 

 

 xcopy [복사 대상 파일 전체 경로] [복사 파일 붙여 넣기 경로] /e /h /k /y

 

자주 쓰는 명령어이고요, /e /h /k /y 는 해당 명령어의 옵션인데

 

/e : 명명된 경로 상에 디렉터리가 없더라도 생성하겠다는 옵션

 

/h : 숨겨진 파일과 시스템 파일도 복사하겠다는 옵션

 

/k : 해당 파일의 특성(rwx)을 복사하겠다는 옵션 

 

/y : 이미 있는 파일에 대해서 덮어쓰기 여부를 묻지 않고 처리한다는 옵션

 

이런 의미를 가지고 있습니다. 

 

배치 파일 상에 스크립트를 이것저것 넣어서 한 번에 실행을 해야 하는데, 

 

위의 네 개의 옵션이 빠진 상태로 하게 되면 

 

진행하시겠습니까? 덮어쓰시겠습니까? 하는 확인 명령이 지속 표출되면서 

 

배치 파일의 실행이 멈춰버리는 문제들이 발생하기 때문에 이에 대한 해소를 위해 주로 사용하는 옵션입니다. 

 

단, 이와 같은 옵션을 사용한 스크립트를 만들 때는 강제로 처리를 하는 옵션들이기 때문에 

 

시스템 파일, 폴더가 변조되거나, 지워지지 않도록 스크립트를 짜실 때 유의해서 작성하셔야 합니다. 

 

자 ! 그러면 1~3번으로 설명드렸던 내용을 바탕으로 예제를 하나 만들어 보겠습니다. 

 

① : 특정 네트워크 경로에 연결 설정 (Alias : S) 


    ② - 1 : 로컬 PC의 특정 경로에 원하는 파일이 없으면, S드라이브에서 파일 복사 


    ② - 2 : 파일이 있으면 패스 


③ : 네트워크 연결 해제(S드라이브)

 

조건문 IF에서 TRUE / FALSE 상태에 따라 필요한 스크립트가 처리되도록 하기 위해 

 

GOTO 명령문을 함께 사용할 예정(빨간색 굵은 글씨 참조)입니다.

 

아래를 보시면 직관적으로 이해되실 겁니다. 

 

[예제]

 

rem 네트워크 연결 (S드라이브) 

net use S: [네트워크 연결 목적지 경로]

rem 조건문(IF) 실행 파일 체크 

IF EXIST "C:\utility\video.avi" (
 
    echo 해당 파일이 존재하여, 스크립트를 종료합니다. 
    goto END_PROGRAM

) ELSE (

   echo 해당 파일이 없습니다. 파일을 복사합니다.
   goto COPY_FILE

)

:COPY_FILE
xcopy S:\video.avi C:\utility\ /e /h /k /y 
echo y | net use /delete S:
timeout 30
exit;


:END_PROGRAM
echo y | net use /delete S:
timeout 30
exit

 

 

자 ! 이렇게 정상적으로 파일이 없는 걸 체크해서, 

 

먼저 연결해 놓은 네트워크 경로에서 video.avi 파일을 복사하는 것을 볼 수 있습니다. 

 

그런데 여기서 ! 

 

위의 예제를 그대로 만들어서 실행하셨을 때, 

 

한글이 깨지면서 명령어를 정상적으로 인식하지 못하는 문제가 발생하게 됩니다. 

 

왜일까요?? 저도 정말 많이 헤맸었고, 긴 시간 동안 모르고 있었습니다. 

 

특이한 점은 배치 파일의 스크립트를 모두 복사해서 cmd 창을 직접 열어서 붙여 넣기를 하면 

 

정상적으로 실행이 된다는 겁니다. 왜일까요?? 무엇이 다른 걸까요?? 

 

한글이 깨진다면 인코딩을 의심해 보셔야 합니다. 배치파일의 인코딩 설정을요. 

 

기본적으로 텍스트 파일은 UTF-8로 인코딩이 설정되어 있습니다. 

 

이것이 문제였습니다. UTF-8 로 되어 있는 인코딩 설정을 ANSI 로 바꿔주시면 됩니다. 

 

변경하는 방법은 배치 파일을 우클릭하신 후 

 

편집을 눌러 편집기를 엽니다. 

 

그리고 다른 이름으로 저장을 선택해서 다른 이름으로 저장 창을 열게 되면 

우측 하단에 인코딩(E): 표시가 있는 것을 확인할 수 있습니다. 

 

 

 

여기 설정을 ANSI 로 바꿔주시고 저장을 하시면 됩니다. 

 

 

자! 그러고 나서 배치 파일을 실행해 보시면 한글 깨짐 증상 없이 

 

정상적으로 배치가 실행되는 것을 확인할 수 있습니다. 

 

자 ! 이렇게 오늘은    

 

 네트워크 연결을 설정하고, 
  
             로컬 PC 경로상 파일 존재 여부를 체크해서 

                 파일이 없는 경우 연결된 네트워크 경로로부터 파일을 복사하는

배치 예제를 설명드렸습니다. 

 

조건에 따라 스크립트 라인을 이동시키는 GOTO 명령어도 알아보았고요. 

 

또한 한글 깨짐 증상에 대한 해결 방법을 안내드렸습니다. 

 

다음에는 주기적으로 반복 프로세스를 PC에 처리하고 싶을 때 사용하는 작업 스케쥴러를

 

배치 파일로 등록하는 방법에 대해 알아보겠습니다. 

 

※ 언제든 궁금하신 것 있으시면 무엇이든 댓글로 남겨주세요. 성심껏 답변드리겠습니다.

 

이상 쉐어스퀘어 였습니다. 

 

감사합니다. 

 

오늘의 글이 도움이 되셨다면, 
하단의 공감, 구독 버튼을 꾸욱 눌러주시면 

IT관련해서 더 유용한 글을 제가 작성하는데에 
큰 힘이 됩니다 :) 
감사합니다.


 

728x90
반응형