bigmail 사람 많을 때 다운로드.

bigmail파일 다운로드 받을 때 사람 많아 나오는 메시지...



프로그래밍 잘하시는 분은 문제 없겠지만, 나처럼 잘 모르는 사람은...

아래 내용의 배치파일 만듦. (예: run.bat)

:Loop
ping -n 15 127.0.0.1
wget http://bigmail....
goto Loop

2번째 줄의 -n 바로 다음의 숫자로 잠시 대기하는 시간을 정해줌 15초마다 대기하면서 다운로드를 시도하는 구조. 적색 부분에 bigmail 주소 입력해둠.

wget은 아래 사이트에서 받을 수 있음. wget.exe과 run.bat는 같은 디렉터리에 있어야함.

http://users.ugent.be/~bpuype/wget/

단일 파일로 wget.exe이고 현재 버전 1.11.4, 크기는 401408byte

장점: 시간이 걸리긴 하지만 다운로드 횟수가 남아있다면 왠만하면 받게됨.

단점:

  • 다운로드 완료 후, 배치파일을 종료하는 코드가 없어 재 다운로드 하게되는 문제가 있음.

    사람이 워낙 많으면 재다운로드 하는 경우는 거의 없지만, 다른 이에게 폐가 될 수 있을 것 같음..

  • 다운로드한 파일 명을 수동으로 바꿔줘야함.

위의 문제를 조금이라도 해결하고 싶어서... VBScript 코드를 작성해봤다. 엉터리이긴 하지만...

Dim WshShell, objFSO, objFile, objRandom
Dim Str, Addr, strFile

Str = "wget.exe"
Addr = InputBox("Daum bigmail 주소 입력")

If Addr = "" Then
WScript.Quit() '취소 버튼누르면 스크립트 종료
End If

Addr = replace(Addr," ","") '불필요한 공백이 주소에 있다면 제거.

strFile = "bigfile_down@uid=" & Mid(Addr, 56) 'wget에 의해 생성되는 파일명.

Set objRandom = CreateObject("System.Random")
Set objFSO = CreateObject("Scripting.FileSystemObject")

If objFSO.FileExists(strFile) Then
WScript.Echo("파일이 이미 존재합니다.")
WScript.Quit() '파일 존재하면 스크립트 종료
End If

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run Str & " " & Addr, 0, true '다운로드 명령실행

Set objFile = objFSO.GetFile(strFile)


'While CLng(objFile.Size) < 1000
While Len(objFile.Size) < 4 '999byte 이하 크기라면 재 다운로드

objFile.Delete '이전에 다운로드 실패한 파일 삭제

'WScript.Sleep 15000 '15초간 대기

WScript.Sleep objRandom.Next_2(1000, 30000)
'1~30초 사이의 난수 입력되도록 변경

WshShell.Run Str & " " & Addr, 0, true '다운로드 명령실행
'Set objFile = objFSO.GetFile(strFile)

Wend

WScript.Echo("다운로드 완료됨.")

일단 재 다운로드 되는 걱정은 안해도 될 것 같다.

실행 중 종료하는 부분을 생각하지 않아서 종료하려면 작업관리자에서 wscript.exe 프로세스를 강제종료 해줘야하는 문제가 있다.

 

✨2026년 문서 리뷰

이 글이 조회수가 제일 많은 글 이였다..😅

근데 요즘도 Bigmail 있나? 이제는 안쓸 것 같다..😅😅


댓글

이 블로그의 인기 게시물

한글 2005 가정용

V3Pro 2002 Deluxe

전자정부 프레임워크 v5.0 교육자료 IDE, 다른 드라이브에 설치하는 완벽 가이드