강좌 / 팁

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

2022.05.26 14:49

메리아 조회:2156 추천: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 - - -
4407 소프트웨어| PECMD CMPA 복호화 [13] sunshine 1403 25 11-15
4406 소프트웨어| Nsis 패킹 파일에서 .nsi 스크립트 추출하기 [7] sunshine 605 16 11-14
4405 소프트웨어| WinNTSetup 설정값을 저장하여 기본값으로 사용하기 [18] 무월 2229 43 11-06
4404 윈 도 우| 윈도우11 22h2 빌드 이상에서 구형 cpu 성능분배 버그 해결... [2] 내가와따ooo 5179 12 10-26
4403 윈 도 우| 배치파일을 이용해서 윈도우 자동 설치하기 [22] gooddew 4978 70 10-16
4402 윈 도 우| [실사] 단일 SSD(HDD)에서 윈도우 설치 하기! [20] 무월 3954 45 10-14
4401 소프트웨어| 크롬/엣지에서 URL 드래그 드롭으로 제목 얻기 (ver 0.2.3,... [14] 메리아 1274 21 10-13
4400 윈 도 우| [실사] VHD 교차부팅 수동&자동 등록 [18] 무월 1979 32 10-07
4399 소프트웨어| EDGE 브라우저 창 크기 "최대화" 고정 하기 [1] 미스라 1491 6 10-03
4398 윈 도 우| [갱신] 윈도우 11 로컬 계정 암호 변경 [14] 무월 2250 18 09-27
4397 소프트웨어| 테라카피(Teracopy) 3.12 설치팁 [7] 메리아 2324 17 09-27
4396 소프트웨어| PDF-XChange Editor 기본글꼴 바꾸기 [1] 코리아선비 894 3 09-25
4395 윈 도 우| Windows 11에서 광고 팝업을 끄는 방법 [5] VᴇɴᴜꜱGɪ 3128 8 09-22
4394 소프트웨어| [포토샵] 인물 누끼따기 외곽선 정리 [12] 무월 2558 37 09-20
4393 윈 도 우| 윈도우 11 로컬 계정 암호 재설정 [15] 무월 1781 29 09-18
4392 윈 도 우| 윈도우11 에서 창 깜박거림이나 입력글자가 사라지는 경우 [5] Named 1564 2 09-14
4391 소프트웨어| PE 동영상 썸네일 표시 [3] 히이이잌 675 16 09-14
4390 모 바 일| [팁] 카톡 '전화번호로 친구 추가 허용' 기능 추가 [2] asklee 1602 4 09-13
4389 윈 도 우| Microsoft는 최근 Windows 11 WinRE 업데이트가 실패한 이... [2] VᴇɴᴜꜱGɪ 1503 4 09-10
4388 윈 도 우| 바로가기 아이콘을 만들어 원 클릭으로 디펜더 온 오프 메... [8] heykevin 1300 20 09-09
XE1.11.6 Layout1.4.8