기 타 특정 폴더 파일 확장자 폴더 별로 정리
2023.05.29 17:10
팁이 될지는 모르겠지만 일단 올려 봅니다.
소스폴더의 파일 확장자 별로 목적지에 확장자 이름으로 폴더를 만들어 복사
확장자 지정 되지 않은 파일이나 폴더는 other 폴더로 모두 이동 합니다.
중복 파일은 새파일 (1), 새파일 (2) 와 같은 이름으로 번호증가 합니다.
목적지 폴더를 지정하여 바탕화면에 심볼릭 링크를 만들어 줍니다.
아래의 코드는 다운로드 폴더의 파일 확장자별로 d:\파일정리 폴더에 확장자 폴더를 만들어 정리를
해줍니다. 그리고 바탕화면에 심볼릭 링크를 만들어 줍니다.
스크립트 파일을 무분별하게 받아 놓을때 너무 지저분해서 -_- 궁리를 하다가 만들게 돼었습니다.
이것저것 받다가 도저희 정리할 엄두가 나지 안을때나 중요한 파일들이 소스 폴더에 있으며
급하게 윈도우 복구를 해야할때 대상 폴더에 급하게 정리할 필요가 있을때 좋지 않을까 생각합니다.
코드는 아래와 같으며 Organize File.cmd ============================
@echo off & setlocal enabledelayedexpansion
set "file_ext=txt pdf hwp jpg torrent doc"& ::확장자
set "srce=%userprofile%\downloads"& ::소스폴더
set "dest=d:\파일정리"& ::대상폴더
set "mlink=%userprofile%\desktop\파일정리"& ::바탕화면에 바로가기 만들기 (심볼릭 링크)
::소스폴더쪽의 확장자에 맞춰 대상 폴더에 확장자명으로 폴더 만들기
for %%a in (!file_ext!) do forfiles /p "!srce!" /m *.%%a >nul 2>&1 && if not exist "!dest!\%%a" md "!dest!\%%a"
::소스폴더에서 대상 폴더로 파일 이동 하기
for %%b in (!srce!\*) do (
set name=%%~nb
set ext=%%~xb& set ext=!ext:.=!
if not exist "!dest!\!ext!\%%~nxb" move "%%b" "!dest!\!ext!\%%~nxb"
)
::중복 파일 이름 증가 처리
for %%c in (!srce!\*) do (
set full=%%c
set file_name=%%~nc
set ext=%%~xc& set ext=!ext:.=!
set num=1
:loop
if exist "!dest!\!ext!\!name! (!num!).!ext!" set /a num+=1& goto:loop
)
::중복 파일 번호증가 이동
for %%d in (!srce!\*) do (
set full=%%d
set file_name=%%~nd
set ext=%%~xd& set ext=!ext:.=!
if not exist "!dest!\!ext!\!name! (!num!).!ext!" move "!full!" "!dest!\!ext!\!name! (!num!).!ext!"
)
::폴더 이동
if not exist "%dest%\other" md "%dest%\other"
xcopy "!srce!\*" "!dest!\other" /e /h /r
for /f "delims=" %%e in ('dir /b /a:d "!srce!"') do rd /s /q "!srce!\%%e"
if exist "!srce!\*" echo y | del "!srce!\*"
mklink /d "%mlink%" "!dest!"
endlocal & exit
==================================================
토탈커맨더 정리하게 편하게
토탈커맨더 자체가 무설치로 동작하기 때문에 별 의미는 없겠지만
토탈 커맨더 업그래이드 할때 편리할거 같아 팁을 올려 봅니다.
App 폴더는 토탈 커맨더 실행파일이 존재하는 폴더
Backup 폴더는 ini 파일과 버튼바 파일들을 2틀 간격으로 백업
Data 폴더는 ini 파일이 들어 있는 폴더 입니다.
토탈 커맨더 실행파일이 있는 App 폴더는 ini 가 상단 Data 폴더로 빠져
있다는 거 왜 에는 비슷합니다.
Backup 폴더의 ini 파일과 버튼파일을 2틀 주기로 설정하여 압축되어 있습니다.
그리고 log 파일은 백업할때 날짜를 log로 저장 이것을 비교하여
2틀 간격으로 비교하여 압축 합니다.
상단 Data 폴더에 토커 설정 파일들이 죄다 들어 있습니다.
토탈 커맨더를 아주 편리하게 업그레이드 할수 있습니다.
토탈 커맨더 파일들만 App 폴더로 넣어주기만 하면 무리없이
에전 그대로 토탈 커맨더로 잘 작동합니다. 머리 아플일 없이
업그레이드 할수 있습니다.
TCMD 실행 코드는
@echo off & setlocal enabledelayedexpansion
::TCMD 64/32 Bit OS 시스템에 맞춰 실행
if %PROCESSOR_ARCHITECTURE%==AMD64 (set os=64) ELSE (set os=32)
::ini파일 상대경로 지정
Reg.exe add "HKCU\Software\Ghisler\Total Commander" /v "IniFileName" /t REG_SZ /d "%~dp0data\wincmd.ini" /f
Reg.exe add "HKCU\Software\Ghisler\Total Commander" /v "FtpIniName" /t REG_SZ /d "%~dp0data\wcx_ftp.ini" /f
for /f "eol=; delims=" %%a in (tcmd.ini) do call set %%a
for /f "eol=; delims=" %%a in (backup\log) do set log=%%a
::Windows 폴더에 7z.exe 복사
if not exist %windir%\7z.exe copy app\tools\7z.exe %windir%
if not exist %windir%\7z.dll copy app\tools\7z.dll %windir%
if not exist "data" md "data"
if not exist "backup" md backup
::파일 날짜/사간 이름
Set @T=%Time:~0,8%& Set @T=!@T::=-!& Set @T=!@T: =0!
::기준일
set /a num="%log:-=%-%date:-=%"
::백업 Zip파일 경로
set "zipfile=Backup\*.zip"
::로그파일 없으면 만들기
attrib -h backup\log
if not exist "backup\log" echo %date%>"backup\log"
attrib +h backup\log
::zip 파일 없으면 만들기
if not exist %zipfile% goto:compress
:loop ::백업 파일이 N개 이상일때 부터 N일이 지난 압축파일 제거
set /a count=0
for %%i in (!zipfile!) do set /a count+=1
if %count% geq 10 forfiles /p "Backup" /m *.Zip /d -%BackupRemove% /c "cmd /c del @path" && goto:loop
::지정 기준 날짜 비교
if %BackupDate% leq %num:-=% goto:compress
:start ::Total Commander 실행
Start "" "app\Totalcmd%os%.exe" /i="%~dp0data\wincmd.ini" /F="%~dp0data\wcx_ftp.ini" & exit
::Start "" /b "App\Tools\TCIMG\TCIMG.exe" infow=2^|^|TitleWindow^|^|attach^<TTOTAL_CMD^|350^|7^> & exit
:compress ::Backup 폴더에 zip 백업 파일 없으면 yyyy-MM-dd.zip 압축
7z.exe a -tzip "backup\%date%_!@T!.zip" app\Buttonbar\* data\*.ini
attrib -h backup\log
echo %date%>"Backup\log"
attrib +h backup\log
goto:start
endlocal & exit
==========================================
TCMD.ini 의 내용중
;데이터 백업 간격 (일 단위 지정)
BackupDate=2
;백업 제거 간격 (일 단위 지정)
BackupRemove=20
==============================================
10개 이상의 파일부터 삭제를 하며 TCMD 실행 할때 백업데이터 제거 간격은 20일 단위로 이루어
집니다. 데이터 백업 주기는 저위에 2일로 설정을 했기 때문에 2틀에 한번식 백업을 합니다.
댓글 [4]
번호 | 제목 | 글쓴이 | 조회 | 추천 | 등록일 |
---|---|---|---|---|---|
[공지] | 강좌 작성간 참고해주세요 | gooddew | - | - | - |
4341 | 윈 도 우| Windows Defender 방화벽 인/아웃바운드 허용/차단 추가 [20] | 무월 | 2259 | 35 | 08-17 |
4340 | 소프트웨어| 중국어 하드 코딩 한글화 강좌 [8] | 줄리아니 | 1147 | 20 | 08-16 |
4339 | 소프트웨어| 중국어 프로그램 한글화 팁 [8] | 줄리아니 | 1324 | 16 | 08-14 |
4338 | 소프트웨어| LaunchBar boot.wim 적용 방법 [12] | 무월 | 1982 | 38 | 08-13 |
4337 | 소프트웨어| (추가3) 배치파일 추가기능 extd.exe 사용 팁 [7] | 지후빠 | 1044 | 24 | 08-13 |
4336 | 소프트웨어| 중국어 프로그램 한글화 팁 [11] | 줄리아니 | 1463 | 20 | 08-10 |
4335 | 소프트웨어| ESD 다중 이미지 단일 WIM 이미지 추출 방법! [12] | 무월 | 1193 | 30 | 08-09 |
4334 | 소프트웨어| 크롬 하단 다운로드창 활성화 [11] | 무월 | 2914 | 46 | 08-03 |
4333 | 소프트웨어| wim boot 관련 배치 파일 몇 가지 팁 [19] | 지후빠 | 1554 | 29 | 08-03 |
4332 | 기 타| 포토샵 많이 좋아졌네요!! [3] | 집에서뒹굴 | 2851 | 5 | 08-02 |
4331 | 모 바 일| [Tip] 인천공항 스마트패스 - 얼굴 인식으로 출국장 통과 앱 [5] | asklee | 1858 | 9 | 07-28 |
4330 | 소프트웨어| 다음 팟플레이어 광고[팝업] 차단 [12] | 무월 | 3291 | 48 | 07-26 |
4329 | 윈 도 우| winpe 시작 화면 Shutdown 메뉴 수정 [10] | sunshine | 950 | 18 | 07-25 |
4328 | 소프트웨어| winpe 시스템 계정에서 Edge 상위버전 적용 [8] | sunshine | 632 | 15 | 07-24 |
4327 | 소프트웨어| Total Commander 주요 단축키 설명 [3] | VᴇɴᴜꜱGɪ | 1107 | 11 | 07-23 |
4326 | 윈 도 우| 없이는 살 수 없는 Windows 바로 가기 키 11개 [5] | VᴇɴᴜꜱGɪ | 3104 | 31 | 07-18 |
4325 | 윈 도 우| Windows 11에서 모니터에 적합한 색 프로필을 얻는 방법 [3] | VᴇɴᴜꜱGɪ | 1872 | 2 | 07-17 |
4324 | 소프트웨어| 탐색기 컨텍스트 메뉴에 토탈커맨더에서 열기 추가 [15] | 지후빠 | 1085 | 23 | 07-16 |
4323 | 윈 도 우| RunOnce 레지스트리 키(간단 메뉴얼) [3] | 過客 | 1035 | 14 | 07-16 |
4322 | 소프트웨어| GPT 파티션 삭제 및 재구성 / EASEUS Partition Master 16 [9] | 무월 | 1642 | 30 | 07-14 |
수고 많으셨습니다. 감사합니다.