지난 포스팅 SmartGUI 사용법에서 만들어본 인터페이스를 가지고 그안에 버튼들과 기능들을 추가하고 활성화 하면서 폴더 복사 백업하는 프로그램을 완성 시켜 만들어 보겠습니다
이번 포스팅에서는 조금 색다르게 기능들을 활성화 해가면서 만들어 가는 과정을 올려보도록 하겠습니다
따라 하면 초보분들 누구나 만들수 있으니 잘 따라오시고, 폴더 복사 백업 프로그램을 만들어서 사용해 봅시다
우선 오토핫키 입문자 분께서는 아래 링크 오토핫키 설치 하고 오세요!!!!!!
폴더 복사 백업 프로그램 미리보기
인터페이스는 간단하게 기본적으로 1번폴더와 2번폴더 구성이 있고요
기능으로는 폴더를 선택하면 폴더경로가 나오고, 선택한 폴더에 용량과 폴더안에 들어있는 파일수의 정보를 보이게 하려고 합니다
용량과 파일수의 정보를 넣은 이유는 실수로 반대로 백업 하는 경우를 방지 하기 위해 정보를 확인하고 백업을 하면 됩니다
지난 포스팅 SmartGUI 사용법에서 만들어서 가져오 소스 코드입니다
기본 코드에서 기능들을 추가하면서 만들어 가봅시다
SmartGUI 사용법 다시보기
폴더 복사 백업 프로그램 - 기능추가 코딩
폴더선택 버튼으로 활성화 시키고, 클릭했을때 폴더 선택창이 뜨게 코드를 추가 합니다
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로 자동계산 되어 보여 질거에요
자세한 사항은 아래 출처 있으니 참고 하시면 되겠습니다
폴더 복사 백업 프로그램 - 백업 코딩
이제 기본적인 기능은 추가 코딩 구현이 되었으니 제일 중요한 복사하는 백업 코딩을 진행해 보도록 하겠습니다
백업 버튼1과 백업 버튼2에 코드를 작성합니다
If문으로 1번 폴더 경로와 2번 폴더 경로 둘다 선택이 되었는지 논리 연산자로 검색을 합니다
둘다 경로 선택이 됬다면, FileCopyDir 폴더안에 파일 및 폴더를 1번폴더에서 2번폴더로 복사 하는데, 전체하위 폴더까지 복사 하고, 파일과 폴더가 존재한다면 덮어 쓰기가 됩니다
이쪽으로 가면 && || ! 논리 연산자에 대한 설명을 볼 수 있습니다
폴더 복사 백업 프로그램 - 추가 코딩
복사 후에 용량과 파일수가 재계산이 되도록 코딩을 해봅시다
새로고침 버튼을 하나 만들고, 버튼 코딩을 하는데 전체_재계산이라는 명령어를 한글로 사용해도 명령이 잘 작동합니다
앞전에 폴더선택하면 용량과 파일수가 계산이 되는 코드를 복사해와서 버튼를 하나 만들고 코드를 붙여넣습니다
이제 복사후에 용량과 파일수가 재계산되서 정보를 쉬게 볼 수 있습니다
폴더 복사 백업 프로그램 - 마무리
마무리로 기본메뉴들을 잘 사용하면 이렇게도 인터페이스 디자인도 가능하답니다
이렇게 폴더 백업 프로그램을 코딩을 해보고 만들어 보았는데요
제가 용량 부분에 코딩이 조금 잘못 된 부분이 있어서 용량을 제대로 불러오지 못한 점이 보이네요
이부분 공부하시면서 수정해서 사용하시고요
레드도 추후에 수정하여 완성본 공유 하도록 하겠습니다
날이 점점 추워지는데요.. 모두x2 감기 조심하시고,,
즐거운 하루 되세요