윈도우10 가상드라이브 생성 스크립트 subst

이서진화가 - 일상 블로그

바로 D드라이브를 가상으로 마운트 시키는 명령어 이다.

subst d: c:\D

subst 명령어 뒤에 마운트 시킬 d: 드라이브 그리고 실제 절대경로 D를 생성 시킨다.

바로 실제로는 C드라이브에 있는 D라는 이름의 폴더를 D드라이브 처럼 사용하는 것이다. 실제로 위에 스샷을 보면 C드라이브 118GB 중 5.06GB 사용 가능 이라는 용량을 나타내는 것이 D드라이브도 ctrl + c, v 한 마냥 동일하다 같은 놈인것이다. ㅋ

그럼 어떨 때 사용하면 유용할까?

일단, 이번의 경우엔 개발환경이 문제가 되었는데…

개발환경이 모두 D드라이브로 세팅되어 개발자에게 전달이 되었다. 하지만, 재공받은 PC가 모두 C드라이브만 있는 상태다. 기본적으로 해당 업체에 필요한 보안프로그램, 메신저, 메일, 문서, 엑셀 기타등등이 모두 깔려져 있는데 개발환경 구축을 위해서 C드라이브에 파티션을 나눠야 하는 ㅡㅡ^ 물론 윈도우10의 경우는 파티션 나누기가 조금 수월하기는 하다 하지만, 조각모음등을 통해 데이터들을 앞쪽으로 밀어야 하고, SSD는 굳이 안해 되나? 무튼 용량 설정부터 먼가 제약사항과 고려해야 할 것이 많다. 특히나, 125GB이라는 요즘치곤 너무나 작은 용량인지라 솔직히 나누는 것 도 많이 애매하다.

개발환경 구축을 다하면 용량이 얼마가 될지도 모르고 말이다. 이런 경우 그냥 간단히 CMD창에서 위의 명령어를 치면 간단히 D드라이브 생성이 되니 얼마나 좋은가? ㅎ 하지만, subst마운트 명령어는 1회성이라 재부팅을 하면 마운트가 해제가 되어 버린다. 계속해서 등록해서 사용하려면 register를 건드리는 방법도 있지만, 굳이 그런 방법을 취하진 않고, bat 배치 파일을 만들어 바탕화면에 두었다.

이와 같이 배치 파일을 작성해 두면 D드라이브도 마운트 하고, 아침마다 한번씩 백업이나 배포등을 할 수 있다.

@ECHO ON
subst d: c:\D

:: utf8한글깨짐 방지.
@chcp 65001 1> NUL 2> NUL

::변수 지역화.
::SETLOCAL

REM 변수선언.

SET SOURCE_WAR=C:\eGovFrame-3.10.0\workspace.edu\web\target\web-1.0.0.war
SET TARGET_WAR=C:\Tomcat 9.0\webapps\ROOT.war

move %SOURCE_WAR% %TARGET_WAR%

@echo %SOURCE_WAR%에서 %TARGET_WAR%으로 배포완료!!!

:: 변수 지역화 해제.
::ENDLOCAL
::@pause
@ECHO ON

:: utf8한글깨짐 방지.
@chcp 65001 1> NUL 2> NUL

::변수 지역화.
::SETLOCAL

REM 변수선언.

SET HOUR=%TIME:~0,2%
IF "%HOUR:~0,1%" == " " SET HOUR=0%HOUR:~1,1%

::SET FILE_NAME=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
SET FILE_NAME=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%_%HOUR%%TIME:~3,2%%TIME:~6,2%

SET BASE_DIR=C:\Project\py\
SET DIST_DIR=C:\Project\py\dist
SET DIST_DIR=C:\Project\py\bak

::rmdir /s/q bak%YYYYMMDD%

:: 필요 파일 추가 복사.
echo f | Xcopy C:\Project\py\*.* C:\Project\py\bak-%FILE_NAME%\

:: 해당하는 배포판 압축하기.
py7zr c tmp_bak bak-%FILE_NAME%/
move tmp_bak.7z C:\Project\py\bak-%FILE_NAME%\%FILE_NAME%.ini

@echo %FILE_NAME%으로 백업완료 함.
:: 변수 지역화 해제.
::ENDLOCAL
::@pause

요건 아침마다 백업을 위한 스크립트 이다. bak년도월일 이라는 폴더를 만들고, 백업할 곳의 파일을 카피해서 백업하는 배치파일.

요렇게 아침마다 백업을 할 수 있다.

그리고 마지막으로 윈도우10의 작업 스케줄러를 이용하면

요런식으로 스크립트를 직접등록도 가능하고, 위에서 만든 mntD.bat 파일을 실행토록 해놓으면 된다.

먼가 간단한 배치성 스크립트였는데.. 설명을 하다 보니 사족이 많이 늘었다. ㅋㅋㅋㅋ 다음에 기회가 된다면, 배치파일로 db백업도 하고, 배포도하고, 암튼 귀찮은 반복적인 작업하는 것을 쉽게 해주는 스크립트들에 대해서 정리 해보겠다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다