강좌 / 팁

윈 도 우 소소한 배치파일 팁 2가지(start 명령, %time%)

2022.05.26 14:49

메리아 조회:2152 추천:10

 

 

최근 배치파일 작성하다 문제가 생긴거 있어서 팁으로 남겨봅니다.

 

 

1. start 명령

cmd창,배치파일에서 쓰는 start명령이 있는데요.

기본 사용법은

start "창제목" "실행파일명"

start /wait "창제목" "실행파일명"

 

보통

start "" "notepad.exe"

이런식으로 많이 씁니다.

보통 "새창"으로 실행할때 좋아서 많이 쓰죠.

 

 

옵션 설명

/wait : 이거 없으면 멀티로 따로 실행하고 배치파일 프로세스 즉시 진행. 있으면 새로 열린 창을 닫을때까지 배치실행이 여기서 멈춤.

"창제목" : 보통 그냥 비워둬도 됨. <- 제 경우 문제가 된 부분이 이거. 후술하겠음.

"실행파일명" : 같은경로나 공통경로에 있는건 당연히 파일명만, 아니면 fullpath로 입력.

   ㄴ exe등 실행파일

   ㄴ txt jpg등 일반파일은 연결된 파일로 실행됨(즉 탐색기 더블클릭이랑 같음)

   ㄴ 폴더경로가 있으면 새 탐색기 열어서 바로 열어줌. 즉 이거 이용하면 자동으로 여러 경로 여는 배치파일 작성 가능.

   ㄴ cmd bat 등 새창으로 cmd창 열어서 따로 실행하는 것도 가능 <- 이것도 문제가 된 부분. 후술함.

/min : 위의 예시에는 없으나, 최소화 실행하는 옵션. 안먹히거나 보안설정에 막히는 경우도 있음. 탐색기를 최소화 상태로 여는데 유리.

 

 

start 명령 쓰다가 제가 문제가 생긴 부분은

start "" "실행.cmd" 이런 방식입니다.

엔간한건 다 "창제목"을 비워도 되는데, cmd bat만큼은 "창제목"에 뭐라도 넣어야합니다.

안넣고 실행하면 

"메모리 리소스가 부족하여 이 명령을 처리할 수 없습니다."

라는 오류를 끝에 뿜어냅니다.(실제 메인 실행에 문제가 되진 않습니다.)

그러므로 배치파일을 start 명령으로 돌릴땐 창 제목을 임의로 넣어주세요. 나머지는 보통 비우고 써도 됩니다.(오히려 비워야만 하는경우가 많음)

 

참고로 새창 안열고 같은 창에서 배치파일 열때는 대개 call 명령을 씁니다.

 

 

 

2. %time% 문제

제가 얼마전에 일부백업 하는 문제로 문의도 하고 해법을 배워가고 제 해법도 올리고 그랬습니다.

그런데 쓰다보니 문제가 되는 부분이 있더군요.

 

예를들어 시각 정보가 필요한데,

배치파일상에서 현재의 yyyy-mm-dd와 hh:mm:ss의 시각정보를

yyyymmddhhmmss 형태로 얻어야합니다.

 

그래서

set "start_yyyymmddhhmmss=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%"

라는 명령을 썼더랬습니다.

그런데 이게 오류가 생기더군요.

 

배치파일에서

%date%와 %time%의 값을 배치파일에서 얻을때

2022-05-26 14:43:11.27

이런 형태로 얻게 됩니다.

 

문제는 14시가 아니라 04시인 경우에는

2022-05-26 14:43:11.27

2022-05-26  4:43:11.27

이런식으로 0 패딩 없이 값이 나옵니다.

즉 yyyymmddhhmmss를 뽑으면

20220526 44311

로 나와서 제대로 사용이 어려워집니다.

 

이걸 해결하는 방법은 여러가지가 있겠으나, 배치파일은 기본적으로 연산같은게 불편하기 때문에

저는 아래와 같이 씁니다.

if "%start_yyyymmddhhmmss:~8,1%" == " " (

  set "start_yyyymmddhhmmss=%start_yyyymmddhhmmss:~0,8%0%start_yyyymmddhhmmss:~9%"

)

 

그냥 간단하게 0 자리가 비어 있으면 0 채우는 구문입니다.

연산으로 하는게 더 분명하겠지만, 저렇게 편법을 좀 써봤습니다.

 

20220526 44311

->

20220526044311

이렇게 바뀝니다.

 

아무튼 %time%은 제로패딩 없이 값이 나오니까 주의 바랍니다. ^^

 

 

 

 

 

번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
4477 윈 도 우| PrincePE_V18.5 [164] %카리스마 204983 99 02-02
4476 윈 도 우| 윈도우7 Windows 정품 인증 기술 업데이트로 인증하기 [21] 얼룩강아지 111628 0 02-27
4475 윈 도 우| 비스타(VISTA) 인증 후 무한 리부팅 현상 해결법 [1] gooddew 98130 0 06-17
4474 윈 도 우| 바이오스 안에 OEM SLIC 가 내장되었는지 확인하는 방법 [5] gooddew 84995 0 06-17
4473 윈 도 우| UEFI-모드 부팅 [설치 USB] 만들기 [8] eunnano 77021 0 09-07
4472 A.I 사용법 무작정 따라하기 (스샷 첨부) - 마지막 수정 [67] PoLaRiS 74990 6 09-10
4471 하드웨어| 유튜브 버퍼링 완전해결2 (hosts파일 사용, DNS변경 x, SKB... [44] hsk 63910 6 05-06
4470 윈 도 우| 비스타/세븐 DVD-4cd 분할 가이드 v2 김간지 63412 0 01-21
4469 윈 도 우| Usb를 이용한 XP설치 [21] 고맙쥐 62277 11 10-23
4468 윈 도 우| 비스타의 숨겨진 부팅로고를 보자 [5] cdcsj 60480 0 05-26
4467 윈 도 우| 소소한팁..Windows 로그온 사진이 작을때.. 김간지 59253 0 07-12
4466 윈 도 우| God Mode 만들기 [5] 적광 55432 0 12-26
4465 기 타| Superfetch 기능 사용중단하기 [13] gooddew 55294 1 09-16
4464 윈 도 우| Win7_8 PE/수정/추가/바탕화면/교체하기 [13] 까꾸리 54269 17 05-18
4463 Windows 7 과 XP 프린터와 파일 서로 공유하기 [5] sp2 52848 3 08-22
4462 윈 도 우| 윈도우8 다국어 언어팩 설치 방법(영문 기준) [6] chkid 51182 5 11-11
4461 윈 도 우| 삼성 노트북의 복원솔루션 5 를 이용하여 SSD에 복원영역 ... [13] 울랄라백수 48973 4 06-17
4460 소프트웨어| USB키보드인채로 PLOP 사용하기 (USB 2.0 MODE + PE) [19] hazuki 48384 0 01-19
4459 윈 도 우| 만능고스트 사용후 hal.dll 오류로 부터 벗어나기 [2] cdcsj 47763 0 04-29
XE1.11.6 Layout1.4.8