본문 바로가기
카테고리 없음

폴더 복사 백업 프로그램 만들어서 사용하자

by r2d 2023. 11. 30.

 

 

 

지난 포스팅 SmartGUI 사용법에서 만들어본 인터페이스를 가지고 그안에 버튼들과 기능들을 추가하고 활성화 하면서 폴더 복사 백업하는 프로그램을 완성 시켜 만들어 보겠습니다

이번 포스팅에서는  조금 색다르게 기능들을 활성화 해가면서 만들어 가는 과정을 올려보도록 하겠습니다

따라 하면 초보분들 누구나 만들수 있으니 잘 따라오시고, 폴더 복사 백업 프로그램을 만들어서 사용해 봅시다

 

 

 

 

 

우선 오토핫키 입문자 분께서는 아래 링크 오토핫키 설치 하고 오세요!!!!!!

 

[오토핫키]AutoHotkey.오토핫키 설치하고, 초보프로그램 만들기

주로 게임에 많이 사용하기로 유명한 매크로 오토핫키로 많이 알려져 있다 레드도 처음 던파의 x키 연타버튼을 혹은 디아블로 반오토, 아이템줍기 등등으로 많이 사용 했던 시절이

 

 

 

 

폴더 복사 백업 프로그램 미리보기

인터페이스는 간단하게  기본적으로 1번폴더와 2번폴더 구성이 있고요

기능으로는 폴더를 선택하면 폴더경로가 나오고, 선택한 폴더에 용량과  폴더안에 들어있는 파일수의 정보를 보이게 하려고 합니다

 

용량과 파일수의 정보를 넣은 이유는 실수로 반대로 백업 하는 경우를 방지 하기 위해 정보를 확인하고 백업을 하면 됩니다

 

 

 

지난 포스팅 SmartGUI 사용법에서 만들어서 가져오 소스 코드입니다

기본 코드에서 기능들을 추가하면서 만들어 가봅시다

 

 

 

 

SmartGUI 사용법 다시보기

 

오토핫키 SmartGUI 사용법

오토핫키 프로그램을 만들면서 평상시에는 잘 쓰지 않지만, 오토핫키 인터페이스를 쉽고, 빠르게 만들수 있는 프로그램이 있어서 알고 있는 사람도 많겠지만 소개를 좀 하려 합니다 SmartGUI라고

r2dme.tistory.com

 

 

 

폴더 복사 백업 프로그램 - 기능추가 코딩

폴더선택 버튼으로 활성화 시키고, 클릭했을때 폴더 선택창이 뜨게 코드를 추가 합니다

 

 

FileSelectFolder로 폴더를 선택하면 SelectFolder이라는 변수로 경로를 저장하고, 저장한 값을 Text 폴더경로에 보여지게 코딩을 추가 했습니다

 

 

 

폴더를 선택하면 폴더경로가 보이고, Loop문으로 선택한 폴더를 읽어와 파일의 개수가 몇개인지 계산하여 보여줍니다

1번 폴더에 8개가 값이 들어 왔는데요

정말로 수가 맞는지 확인을 한번 해보겠습니다

 

 

 

정말로 파일의 개수가 맞는지 폴더에 가서 보면 첫 폴더인 111111에는 파일이 4개가 있고, 새폴더안에 들어가면, 또 4개의 파일이 있습니다

지금은 설정이 하이폴더에 있는 파일까지 전부 계산하여 보여지게 설정해 놓아서 총 파일의 수가 8개가 맞게 나오네요

 

 

 

마지막으로 용량정보 코드를 추가 했습니다

그리고, 코드가 오류가 좀 있어서 처음에 코드들도 조금 손을 댔으니 코드를 수정하면 됩니다

1번폴더의 용량이 잘 나오고 파일의 수도 잘 나오는 것을 확인 가능합니다

2번폴더도 역시 잘 나오는데 파일이 하나도 없는 빈 폴더기 때문에 0바이트이고, 파일수는 표시가 안되네요

(파일수는 0으로 표기되게 추후에 수정하겠습니다)

 

 

 

 

 

이번에는 용량이 제대로 잘 나오는지 확인하려 하는데요

111111폴더에 새문서만 넣어놓았더니 용량이 0이나와서 동영상을 하나 넣었습니다

 

 

111111폴더의 용량은 13.4MB에 파일은 9개 됩니다

이제 코드와 프로그램에서 실제 용량이 나오는지 보겠습니다

 

 

 

실제프로그램에서도 1번 폴더의 용량과 파일수가 데이터 값이 잘 나오는 것을 확인 되네요

 

 

 

그리고 이걸 따라한 여러분들은

TotalFolderSize := autoByteFormat(FolderSize)

이부분에서 에러가 나오던지 이부분을 지우고  값을 가져오게 하신 분들은 바이트로 계산되어서 나올겁니다

 

 

autoByteFormat(size, decimalPlaces = 2) {
    static size1 = "KB", size2 = "MB", size3 = "GB", size4 = "TB"
    sizeIndex := 0
    while (size >= 1024)
    {
        sizeIndex++
        size /= 1024.0

        if (sizeIndex = 4)
            break
    }
    return (sizeIndex = 0) ? size " byte" . (size != 1 ? "s" : "")
        : round(size, decimalPlaces) . " " . size%sizeIndex%
}

지금 코드를 젤 아래 빈공간에 붙여 넣어주면 에러도 없어지고,

바이트가 MB로 계산되거나 GB로 자동계산 되어 보여 질거에요

 

 

 

자세한 사항은 아래 출처 있으니 참고 하시면 되겠습니다

 

 

AutoHotkey: Check Windows Folder Sizes

What? So I needed to clear space on a workstation's C drive. There are other programs about and even some built-in to MS Windows that could potentially be...

www.joellipman.com

 

 

 

 

폴더 복사 백업 프로그램 - 백업 코딩

이제 기본적인 기능은 추가 코딩 구현이 되었으니 제일 중요한 복사하는 백업 코딩을 진행해 보도록 하겠습니다

 

백업 버튼1과 백업 버튼2에 코드를 작성합니다

If문으로 1번 폴더 경로와 2번 폴더 경로 둘다 선택이 되었는지 논리 연산자로 검색을 합니다

 

 

 

둘다 경로 선택이 됬다면, FileCopyDir 폴더안에 파일 및 폴더를 1번폴더에서 2번폴더로 복사 하는데, 전체하위 폴더까지 복사 하고, 파일과 폴더가 존재한다면 덮어 쓰기가 됩니다

 

 

 

 

 

이쪽으로 가면 && || ! 논리 연산자에 대한 설명을 볼 수 있습니다

 

윈도우종료 초보타이머 프로그램 만들기

윈도우 종료 프로그램은 많이 있지만, 한번 만들어 보고 싶다는 생각을 해봤을 것입니다 구글링으로 오픈 소스를 찾아봤는데 딱히 없어서 초보자의 생각으로 IF문으로 만들면 되지 않을까 싶어

r2dme.tistory.com

 

 

 

 

폴더 복사 백업 프로그램 - 추가 코딩

복사 후에 용량과 파일수가 재계산이 되도록 코딩을 해봅시다

 

 

새로고침 버튼을 하나 만들고, 버튼 코딩을 하는데 전체_재계산이라는 명령어를 한글로 사용해도 명령이 잘 작동합니다

앞전에 폴더선택하면 용량과 파일수가 계산이 되는 코드를 복사해와서 버튼를 하나 만들고 코드를 붙여넣습니다

 

 

 

이제 복사후에 용량과 파일수가 재계산되서 정보를 쉬게 볼 수 있습니다

 

 

폴더 복사 백업 프로그램 - 마무리

 

마무리로 기본메뉴들을 잘 사용하면 이렇게도 인터페이스 디자인도 가능하답니다

이렇게 폴더 백업 프로그램을 코딩을 해보고 만들어 보았는데요

 

제가 용량 부분에 코딩이 조금 잘못 된 부분이 있어서 용량을 제대로 불러오지 못한 점이 보이네요

이부분 공부하시면서 수정해서 사용하시고요

레드도 추후에 수정하여 완성본 공유 하도록 하겠습니다

 

날이 점점 추워지는데요.. 모두x2 감기 조심하시고,,

즐거운 하루 되세요

 

 

 

 

반응형