강좌 / 팁

윈 도 우 소소한 배치파일 팁 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 - - -
4418 윈 도 우| sources 폴더 교체시 드라이버 로드 오류 참고 [14] 무월 1369 31 12-02
4417 소프트웨어| pureBasic 소스 - 실행 목록 및 화면 캡처 v0.2 [7] 입니다 971 29 12-01
4416 기 타| 짜증나는 유튭 광고 개인설정과 구글설정 [10] 트레져sn 4056 15 11-27
4415 소프트웨어| 한글2024 로고 교체 / 자동 설치 옵션 [54] 무월 13079 107 11-25
4414 소프트웨어| pureBasic 소스 - 전원 단추. PB 6.10 지원 [12] 입니다 1236 34 11-24
4413 소프트웨어| PCem Win98 인터넷 개통하기. [6] 메인보드 1340 6 11-23
4412 기 타| macOS 소노마 14.1.1 다운로드 및 부팅 ISO 제작 후 VMWare... [8] 무월 1801 16 11-22
4411 소프트웨어| 오토잇 시스템 종료&재부팅 소스 [15] 무월 1580 27 11-21
4410 윈 도 우| 최신 EEA 호환 업데이트에서 Windows 11에서 Microsoft Edg... [1] VᴇɴᴜꜱGɪ 893 3 11-20
4409 기 타| VMWare Workstation@Hybrid CPU 성능 문제 해결책 [3] DarknessAn 990 6 11-20
4408 소프트웨어| AutoCAD 캐드 설치가 안 될 때.... 한번해보세요.... 전 3... [6] Alpha 2489 11 11-17
4407 소프트웨어| PECMD CMPA 복호화 [13] sunshine 1370 25 11-15
4406 소프트웨어| Nsis 패킹 파일에서 .nsi 스크립트 추출하기 [7] sunshine 591 16 11-14
4405 소프트웨어| WinNTSetup 설정값을 저장하여 기본값으로 사용하기 [18] 무월 2220 43 11-06
4404 윈 도 우| 윈도우11 22h2 빌드 이상에서 구형 cpu 성능분배 버그 해결... [2] 내가와따ooo 5165 12 10-26
4403 윈 도 우| 배치파일을 이용해서 윈도우 자동 설치하기 [22] gooddew 4943 70 10-16
4402 윈 도 우| [실사] 단일 SSD(HDD)에서 윈도우 설치 하기! [20] 무월 3932 45 10-14
4401 소프트웨어| 크롬/엣지에서 URL 드래그 드롭으로 제목 얻기 (ver 0.2.3,... [14] 메리아 1273 21 10-13
4400 윈 도 우| [실사] VHD 교차부팅 수동&자동 등록 [18] 무월 1969 32 10-07
4399 소프트웨어| EDGE 브라우저 창 크기 "최대화" 고정 하기 [1] 미스라 1477 6 10-03
XE1.11.6 Layout1.4.8