설치 / 사용기

소프트웨어 사용자 설정 백업 복원 v5.0 - 수정 사용기

2022.07.31 17:59

지후빠 조회:1135 추천:11

이전 첨부 파일에서 2,3행을 순서를 바꿨습니다.

powershell이 실행될때 ini 파일의 마지막 줄의 이름으로 폴더가 생성되는 문제가 있습니다. 이유는 모르겠습니다.

일단은 ini 파일 끝줄에 backup 이라고 입력해두면 문제는 없는 것 같습니다.

Backup2.cmd , 샘플 ini - Settings.ini

 


 

안녕하세요? 주말이라 시간 여유가 있어서 제? 방식으로 수정한 사용기입니다.

관련 링크 - https://windowsforum.kr/free/18285901 - https://windowsforum.kr/review/18298143

아침에 게시물 보다 슈마님이 올려주신 댓글(지금 못찾겠습니다.ㅜㅜ) 자료를 기준으로 수정하였습니다.

- 혹시 남의 것 분해하는 것 아니냐? 라는 오해는 없었으면 합니다.

- 전체 흐름을 자세히 살펴 보지는 못하였습니다. 슈마님/모자님이 마무리해주시면 좋겠습니다.^^

 

Backup3.cmd 메모장 등으로 열어 두시고 보시면 편하실 것 같습니다. Settings.ini

- Settings.ini 파일을 가능한 ansi 인코딩으로 저장합니다.

- 전체적으로 색상 안시 코드 정리함

- 수정된 스크립트에 맞게 도움말을 수정해야 하는데 살펴보지 못했습니다.

 

2 for /f "delims=" %%a in ('powershell get-date -format "{yyyyMMdd}"') do set ds=%%a

- %date% 사용시 사용자별 시스템의 '간단한 날짜' 서식 설정에 따라 예상과 다른 결과가 나올 수 있어서 파워쉘 이용

- %date% 이용시 set ds=%date:-=% 와 set ds=%date:~0,4%%date:~5,2%%date:~8,2% 는 같은 결과 나올듯 함

 

3 for /f "tokens=1 delims='" %%a in ('findstr /b /l /v ^' Settings.ini') do call :TrimRight "%%a"

- Settings.ini 파일에서 '로 시작하는 줄을 제외하고 읽고, :TrimRight 서브루틴으로 줄 뒷쪽 공백이나 탭 제거

 

8 if %sn% gtr 0 for /f "skip=%sn% tokens=*" %%a in ('dir /ad/b/o-d backup') do rd /s/q "backup\%%a"

9 if %afc% gtr 0 for /f "skip=%afc% tokens=*" %%a in ('dir /b/o-d backup\backups-*') do del "backup\%%a"

- 기존 rd,ad 변수 없이 sn,afc 변수만으로 가능, sn,afc 변수는 알맞은 이름으로 바꿔도 좋을 듯 합니다. keepdir, keepzip 등

- 폴더/파일 이름과 무관하게 최근 만들어진 지정된 갯수만 남김

 

24 echo.& choice /c brxha /n >nul

- if ERRORLEVEL 1 goto backup 형태로 이용하려면 goto 문을 ERRORLEVEL 역순으로 정렬

- if %errorlevel%==1 goto backup 형태로 이용하면 순서 상관 없을 듯 함

 

96 if exist "backup\%ds%" (call :NewDir "backup\%ds%") else (md "backup\%ds%" && set "todir=backup\%ds%")

- 백업 폴더에 오늘 날짜의 폴더가 있으면 "오늘날짜-1" 형태로 일련번호를 붙여서 폴더 생성, 같은날 다수의 백업 가능

- ini 파일에 sn=4 로 설정되어 있으면 메인화면으로 이동시 최근 4개 폴더 제외하고 자동삭제하므로

- 예를 들어, "20220731-4" 다음에는 "20220731" 이름의 폴더 생성됨

 

109 for /f %%a in ('dir /ad/b/o-d backup') do set "fd=%%a" && goto next

- 최근 백업 폴더 한개 구하고 바로 다음으로 진행

 

124 for /f "tokens=1-4 delims==" %%a in ('set fb') do (for %%f in ("%%c") do set "src=%%~nxf"

125  if "%%d"=="1" (if exist "backup\%fd%\%src%" copy /-y "backup\%fd%\%%b\!src!" "%%c"))

- ini 파일에 지정된 파일 이름을 선택한 백업 폴더에서 원본 위치로 복사, 겹쳐쓰기 확인 메세지 출력

 

138 for /f %%a in ('dir /ad/b/od backup') do (set /a i+=1 & echo !i! - %%a& Set no!i!_=%%a)

- 백업 폴더내 일자별 폴더만 시간순으로 출력

 

147 for /f "tokens=1-4 delims==" %%a in ('set fb') do (for %%f in ("%%c") do set "src=%%~nxf"

148 if "%%d"=="1" (if exist "backup\%fd%\%src%" copy /-y "backup\%fd%\%%b\!src!" "%%c"))

- 백업 폴더에서 ini에서 지정한 각 파일의 원위치로 복사, 겹쳐쓰기 확인 메세지 출력

 

155 for /f "delims=" %%a in ('powershell get-date -format "{yy-MM-dd_HHmmss}"') do set tail=%%a

- 압축 파일 생성할 이름 지정, 매 시각별로 만들어져서 겹쳐쓰지 않음.

- 참고로 메인화면으로 이동시 ini 에서 지정한 afc=4 갯수 남기고 삭제됩니다.

 

168 powershell "Get-ChildItem -Path '%source%' -Directory | Compress-Archive -DestinationPath '%destin%'"

- 백업 폴더 내 일자별 폴더만 압축합니다. backup 폴더내 zip 파일은 제외됨

 

188 if exist "%~1-%_i%" (goto NewDir) else set "todir=%~1-%_i%"

- NewDir 서브루틴 이름을 goto 라벨로도 사용함.

 

 

아래는 settings.ini 예제입니다.

 

'WAF :: We are familly

 

'HISTORY

'-  5.0 : 압축저장의 선택을 늘림 반영 7zip, 반디집, Winrar, PowerShell

'         각 압축화면 별도구성 - 앱별 지정 형식의 차이

 

'Options

lastmodify=20220730       ' 사용자 관리중 최종 수정 일자 ( 메모장에서는 F5 )

ver=5.0    '사용자 버젼 관리 빌드 번호

sn=4       '최근 폴더 삭제 범위 [예: sn=2 최근 폴더 2개 남기고 삭제, sn=0 백업 폴더 지우지 않고 모두 남김]

afc=4      '최근 압축파일 삭제 범위 [예: afc=3 최근 폴더 3개 남기고 삭제, afc=0 압축파일 지우지 않고 모두 남김 ]

 

 

'이하는 사용자 백업 환경 설정의 내용입니다. 규칙에 맞게 확장 가능합니다.

' [백업파일 번호]=[백업폴더 이름]=[백업파일 경로]=[백업 비활성화0, 백업 활성화1] 으로 작성하시면 됨니다.

fb1=Chrome=c:\PortableApps\CentBrowser\User Data\Default\Bookmarks=1

fb2=Chrome=c:\PortableApps\CentBrowser\User Data\Default\History=1

fb3=Chrome=c:\PortableApps\CentBrowser\User Data\Default\Shortcuts=1

fb4=Totalcmd=c:\PortableApps\Totalcmd\wincmd.ini=1

fb5=Totalcmd=c:\PortableApps\Totalcmd\DEFAULT.BAR=1

fb6=Totalcmd=c:\PortableApps\Totalcmd\default.br2=1

fb7=Slimjet=%LOCALAPPDATA%\Slimjet\User Data\Default\Bookmarks=1

fb8=Edge=%LOCALAPPDATA%\Microsoft\Edge\User Data\Default\Bookmarks=0

fb9=NaverWhale=%LOCALAPPDATA%\Naver\Naver Whale\User Data\Default\Bookmarks=0

fb10=Chrome=%LOCALAPPDATA%\Google\Chrome\User Data\Default\Bookmarks=0

fb11=FileZilla=%userprofile%\AppData\Roaming\FileZilla=0

fb12=FileZilla=%AppData%\FileZilla=0

fb13=atom=%AppData%\atom=0

fb14=EditPlus=%AppData%\EditPlus=0

fb15=qBittorrent=%AppData%\qBittorrent=0

fb16=WinSCP=%ProgramFiles(x86)%\WinSCP\WinSCP.ini=0

fb17=DESKTOP=%USERPROFILE%\OneDrive\바탕 화면=0

fb18=DESKTOP=%USERPROFILE%\Desktop=0

backup

 

변수의 스코프를 살펴봐야하는데 손목이 아파서 마쳐야겠습니다. ㅠㅠ

배치 스크립트 종료 후 재 실행하면 변수가 섞이는 것을 막을 수 있습니다마...

테스트가 충분치 않습니다만 검토만 한 것이라서 슈마님, 모자님께 넘기고 이만... -꾸~벅-

 

 

번호 제목 글쓴이 조회 추천 등록일
[공지] 사용기/설치기 이용안내 gooddew - - -
9274 소프트웨어| [종료]소프트메이커 사무실 업데이트 [14] DengJang 1143 24 11-15
9273 윈 도 우| PinUtil PE 사용기 [9] 4k8k 672 10 11-15
9272 기 타| qnd님 PinUtil PE 업데이트 버전 간단한 사용기입니다 [8] 왕초보 884 13 11-15
9271 기 타| 78RePack을 백업프로그램 Cmd 숨김실행에 활용하여 보았습... [13] 왕초보 960 22 11-15
9270 기 타| [종료]Wim 최적화 PE 적용 - 단일 파일 몇 가지 업데이트 [38] DengJang 1053 41 11-15
9269 소프트웨어| 큰나무님 최적화 용량비교.... [14] 메인보드 958 13 11-15
9268 윈 도 우| windows 11 22H2 22621.819 PE 부팅 성공.... [22] 후루꾸 1122 25 11-14
9267 하드웨어| 외부저장장치 뺄때 에러... [5] 4k8k 740 3 11-14
9266 기 타| 78RePack Kor x86 x64 겸용 버전 사용기 입니다 [26] 왕초보 1288 22 11-13
9265 기 타| Win7용 ADK의 StartCD.exe를 런처로 활용을 하여 보았습니다 [9] 왕초보 812 15 11-12
9264 기 타| -종료- Admin PE(하단에 추가) [723] 집앞의_큰 4196 259 11-11
9263 기 타| PinUtil PE + Chrome 단일portable 추가사용기 [28] qnd 1303 39 11-10
9262 소프트웨어| [종료]PE용 Edge 업데이트 [15] DengJang 873 24 11-10
9261 윈 도 우| 땅꼬마11PE_22000.1165 간단 수정.사용기 [35] heykevin 1685 31 11-08
9260 기 타| QuantumPE AdminF_x64_PE_2in_wimboot_무등산 펀집 [101] V무등산V 2437 89 11-08
9259 윈 도 우| 땅꼬마님_Windows 11 PE 사용기 [20] 4k8k 1822 23 11-08
9258 윈 도 우| Windows 11 22H2 (22621.525) PE 만들기 [24] 솔향 1873 26 11-07
9257 기 타| WimLib 백업에 VbsMsg 를 활용하여 보았습니다 [17] 왕초보 785 23 11-07
9256 윈 도 우| 22H2 부팅되는 빌더 다운및 사용해보기. [10] 4k8k 1081 7 11-07
9255 윈 도 우| Windows 11 [22621.525] PE 만들기 테스트 [19] suk 1544 24 11-06
XE1.11.6 Layout1.4.8