강좌 / 팁

윈 도 우 배치파일로 업데이트 알림 구현하기

2018.03.09 23:38

히이이잌 조회:3595 추천:7

드롭박스가 업로드한 파일 '갱신'을 지원하고, (같은 파일을 올리면 다운로드 링크가 변하지 않음)

wget을 이용하면 배치파일로 파일을 다운로드 받을 수 있다는점을 이용합니다.


 

준비물

드롭박스 계정

wget.exe

새로운 버전의 정보를 담은 배치파일 (예시 : VCHECK.cmd )

현재 배치파일 버전과 새 정보를 비교할 배치파일 (예시: 업데이트 확인.cmd )

 

 

 

 

 

 

방법

 

1.jpg

 

VCHECK.cmd를 드롭박스에 올리고 공유를 눌러 링크를 만듭니다.

Vcheck.cmd의 내용은 set RELEASE_VER=1 입니다.

회원 가입 과정이나 업로드 방법같은건 이런 강좌 읽을 사람에게 필요하다고 생각되지 않으므로 생략합니다.

 

드롭박스 링크는 https://www.dropbox.com/s/0000000000000/VCHECK.cmd?dl=0 과 같은 모양인데,

맨 끝 dl=0 을 dl=1로 바꿔줍니다. 그럼 드롭박스 사이트를 거치지 않고 즉시 다운로드가 가능합니다.

 

즉 https://www.dropbox.com/s/0000000000000/VCHECK.cmd?dl=1 과 같은 모양이 되겠죠.

 

 

그다음 업데이트 확인용 배치파일을 작성합니다. 

 

:: 배치파일이 위치한 경로로 실행 경로 변경하기

pushd %~dp0

 

:: nv.tag가 있으면 바로 새버전이 있다는 알림으로 보내기

IF EXIST nv.tag goto NEW

:: VCHECK.CMD가 이미 있으면 버전 체크 생략하기
IF EXIST VCHECK.cmd goto SKIP_VCHECK

 

:: 업로드한 VCHECK.cmd를 wget으로 다운로드하기

wget.exe -q --no-check-certificate -O VCHECK.CMD "https://www.dropbox.com/s/자신의드롭박스파일링크/VCHECK.cmd?dl=1"

 

:: 기본값 설정

set RELEASE_VER=0

 

:: VCHECK.cmd를 실행시켜 최신 버전의 정보 얻기
IF EXIST VCHECK.cmd call VCHECK.cmd

:: RunOnce 레지스트리 키값을 추가하여 다음 재부팅 때 VCHECK.cmd 파일 삭제하기

echo del /q "%~dp0VCHECK.cmd">%temp%\DEL.cmd
echo DEL /q %%0>>%temp%\DEL.cmd
Reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /v "del_vcheck" /t REG_SZ /d "%temp%\DEL.cmd" /f

: : 다운로드 받은 최신 버전 정보와 현재 파일의 버전정보 비교

:: 체크용 배치파일에 적혀있는 숫자보다 다운로드 받은 파일의 숫자가 더 크면 새 버전 알리기, 새 버전을 발견했다는 태그 만들어주기

IF %RELEASE_VER% GTR 1 echo .>NV.tag&goto NEW

:: 체크용 배치파일에 적혀있는 숫자와 다운로드 받은 파일의 숫자가 같으면 이미 최신버전이라고 알려주기
IF %RELEASE_VER% EQU 1 goto UTD

IF %RELEASE_VER% EQU 0 goto VCF

 

:NEW
echo 새로운 버전이 있습니다.

echo 아무 키나 누르면 윈도우 포럼으로 이동합니다.
pause

:: start 명령 뒤에 "" 를 붙이면 기본 연결 프로그램으로 실행시킵니다. 상대의 기본 브라우저가 익스라면 익스로..크롬이라면 크롬으로...

start "" https://windowsforum.kr

exit

 

:UTD
echo 현재 최신 버전을 사용중입니다.

echo 아무 키나 누르면 창이 닫힙니다.
pause

exit

 

:VCF

echo 버전 확인에 실패했습니다.

echo 아무 키나 누르면 창이 닫힙니다.
pause

exit

 

:SKIP_VCHECK

echo 이미 버전 확인을 했습니다.

echo.

pause

 

위와 같은 배치파일을 배포할 프로그램 내부에 심은 다음

프로그램을 업데이트 하였을 경우 드롭박스에 set RELEASE_VER=로 수정한 VCHECK.cmd를 업로드하면

사용자들에게 업데이트가 있음을 알려줄 수 있습니다.

 

즉, 프로그램을 실행할 때 지정된 숫자와 서버에서 다운로드 받은 파일의 숫자를 비교하고

서버에서 받은 숫자가 더 크다면 지정된 링크로 보내거나 다른 파일을 다운로드 받게 해주는 원리입니다.

 

물론 새로이 배포하는 프로그램에는 다음 버전 업데이트 감지를 위해 

IF %RELEASE_VER% GTR 2 goto NEW

IF %RELEASE_VER% EQU 2 goto UTD

이 두 비교문도 2로 바꿔서 배포해야겠죠.

 

===================================================================================

 

 

주의할점은 드롭박스 약관에 트래픽 제한이 있습니다.

일일 20GB, 10만회를 넘어가게되면 트래픽 제한이 걸립니다.

(원문

Traffic limits
Shared links and file requests are automatically banned if they generate unusually large amounts of traffic.

Dropbox Basic (free) accounts:

20 GB per day: The total amount of traffic that all of your links and file requests combined can generate
100,000 downloads per day: The total number of downloads that all of your links combined can generate

)

 

즉, 용량이 크거나 많은 사람에게 공유할 생각이라면 '알림'만 지원하고 

다운로드 자체는 그냥 본인 사이트 링크로 보내거나 다른 파일 공유 사이트로 보내는게 좋습니다.

 

 


 

번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
4289 하드웨어| Windows 11에서 Realtek 오디오 드라이버를 쉽게 수정하는 ... [6] VᴇɴᴜꜱGɪ 2809 7 01-04
4288 하드웨어| USB 키패드를 매크로 키패드로 사용하기 [7] 지후빠 1863 15 01-02
4287 윈 도 우| 삭제할수 없는 시스템 앱, 삭제 방법 [8] zerojiddu 3492 13 01-01
4286 소프트웨어| Wise care 365 사용시 주의점 [5] heykevin 2502 9 12-30
4285 윈 도 우| 포맷없이 , diskpart 작업 없이 기존 디스크에 EFI 파티션 ... [13] heykevin 3373 23 12-30
4284 윈 도 우| Chromium 기반 브라우저 OS 지원 종료 예정 알림 제거 자동... [8] 녹색조각 1640 15 12-29
4283 윈 도 우| IP 주소 변경 배치(DSN/WINS) [20] 무월 3542 30 12-28
4282 윈 도 우| Microsoft Update 카탈로그 (업데이트 항목 . 빨리 받아 적... [3] heykevin 1387 7 12-28
4281 하드웨어| ASROCK 메인보드에 관하여..... [5] 밤이슬216 2530 5 12-25
4280 소프트웨어| 마우스 두개 양손 사용시 왼손 마우스 버튼 스왑 [7] 지후빠 1184 12 12-24
4279 윈 도 우| 장치 드라이버 업데이트 파워쉘로 확인하기 [1] zerojiddu 1506 7 12-22
4278 윈 도 우| Windows 10, 12월 보안 패치(KB5021233) 설치 후 뜨는 블루... [5] 타천사둘리 1872 8 12-20
4277 윈 도 우| [실사] USB 테더링으로 PC 인터넷 랜 드라이버 설치하기! [8] 무월 1746 15 12-20
4276 윈 도 우| 관리자보다 더쎈 권한으로, 접근제한 에러 뚫기 [20] zerojiddu 4007 16 12-18
4275 윈 도 우| KB5018863 업데이트 제거하기(22621.1037로 버전 바꾸기) [5] 타천사둘리 1576 5 12-16
4274 윈 도 우| 윈도우 호스트 만들기 - 몇가지 추가 [11] 슈머슈마 1750 10 12-15
4273 윈 도 우| 윈도우 호스트에 온라인 광고차단 호스트 파일 추가, 기본 ... [14] 슈머슈마 2067 14 12-13
4272 윈 도 우| BCD 백업 및 복구 프로그램 입니다 [11] 지룡자 3098 25 12-10
4271 윈 도 우| [실사 ] 부트 메뉴에 PE 등록 하기 | Recovery 생성 백업&a... [14] 무월 2431 22 12-10
4270 윈 도 우| Windows 10에서 Windows 11 업데이트(업그레이드)를 차단하... [5] heykevin 2598 22 12-09
XE1.11.6 Layout1.4.8