강좌 / 팁

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

2022.05.26 14:49

메리아 조회:2166 추천: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 - - -
4223 소프트웨어| 윈포 쪽지 전달 반자동화 AHK 매크로(배포중지) [39] 지후빠 1702 31 08-23
4222 소프트웨어| True Image 실행 시 삭제한 백업 폴더가 다시 생성되는 문... [1] 봄빛깔 1141 8 08-21
4221 윈 도 우| [실사] 만능WIM 응답파일(Unattend.xml) 교체 [33] 무월 2909 30 08-21
4220 소프트웨어| Rufus를 사용하여 Windows 11 부팅 가능한 USB를 만드는 방법 [24] VᴇɴᴜꜱGɪ 4202 30 08-16
4219 소프트웨어| 간단한 파일/폴더 백업 배치 파일 - BackupToZip [29] 지후빠 2585 27 08-14
4218 소프트웨어| 배치파일을 시스템 트레이로 숨김 실행하기 AHK [15] 지후빠 1405 9 08-13
4217 소프트웨어| EasyDrv 활용법 [10] 타천사둘리 3137 8 08-12
4216 기 타| 나스 토런트 감시폴더에 Torrent 파일 자동 전송 (수정) [1] 슈머슈마 1162 9 08-11
4215 서버 / IT| Linux Mint 20.3 에서 Linux Mint 21로 업그레이드 [2] VᴇɴᴜꜱGɪ 850 7 08-09
4214 소프트웨어| X32dbg 이용한 언팩 강좌 입니다 [4] 줄리아니 905 6 08-06
4213 윈 도 우| 인증서 백업 복구 배치파일 [9] 센돔타오르 2562 18 08-05
4212 윈 도 우| 북마크 백업 복구 배치파일 [17] 센돔타오르 2289 30 08-03
4211 윈 도 우| 윈도우10/11 무인설치 응답파일 선택 설치 [7] 무월 3451 21 07-28
4210 소프트웨어| dup2patcher.dll 디컴파일링-3 [6] sunshine 988 8 07-24
4209 윈 도 우| install.WIM 무인설치 응답파일 교체 방법! [11] 무월 2362 20 07-23
4208 소프트웨어| Symantec Endpoint Protection 자동 업데이트 설정하기 [4] kisslady 1022 6 07-22
4207 소프트웨어| VHD 에 윈도우 및 프로그램 설치 후 WIM 파일로 만들기 [6] 타천사둘리 2800 13 07-21
4206 소프트웨어| UltraISO 이용한 ISO 에 WIM 병합하기 [10] 타천사둘리 3562 21 07-21
4205 소프트웨어| dup2patcher.dll 디컴파일링-2 [3] sunshine 553 5 07-21
4204 소프트웨어| dup2patcher.dll 디컴파일링-1 [6] sunshine 838 5 07-20
XE1.11.6 Layout1.4.8