W기술과 생활

닫기 검색결과 전체 보기

    바이두 클라우드 파일 목록 받아서 중복 찾기

    Tip/BaiduCloud 2015. 6. 23. 00:43

    안녕하세요.

    저번에 댓글로 바이두 클라우드의 파일 목록을 받고 싶다는 질문이 있었습니다.

    바이두 자체적으로는 그런 서비스를 제공하지 않는것 같습니다.

    혹시 제공하고 있다면 댓글로 제보해주시면 감사하겠습니다.


    아래의 설명은 4.6.4 버전 기준입니다! (5.2.7버전에서도 가능하게 수정함)

    바이두 클라우드 웹하드 버전의 경우 클라우드 내 파일과 폴더 목록을 BaiduYunGuanjia.db 파일로 저장합니다.

    이 파일은 Sqlite3 형식의 데이타베이스 파일입니다.

    위치는 바이두 클라우드 웹하드 버전이 설치된 폴더의 Users 폴더에 가보면 로그인했던 아이디별로 폴더가 생성되어있습니다.

    그 폴더에 들어가면 BaiduYunGuanjia.db 파일이 있습니다.

    (4.6.4버전은 BaiduYunGuanjia.db 파일이고 최신 버전들은 BaiduYunCacheFileV0.db 입니다.)


    최근의 목록을 위해 우선 클라우드를 실행 후 로그인하고 새로 고침을 한번 해주면 최근 목록이 db로 저장이 됩니다.

    이제 이 db 파일을 sqlite3 툴로 쿼리로 읽어들이면 됩니다.


    이 작업을 간편하게 하기 위해 오토핫키(Autohotkey)를 이용했습니다.

    오토핫키는 스크립트 언어입니다.

    dll 방식으로 하려다가 내공이 딸려서 그냥 exe 파일을 이용해서 만들었습니다.

    오토핫키를 exe 컴파일하면 여러 백신에서 바이러스로 검진을 해서 그냥 스크립트로 올립니다.

    http://ahkscript.org/download/ahk-install.exe

    여기서 오토핫키 인스톨 파일을 받아 설치후 .ahk 파일을 실행하면 됩니다.


    BaiduDBexport.ahk를 더블클릭하여 실행한 화면입니다.


    DB파일을 드래그 앤 드롭으로 끌어다 놓으면 경로 설정이 됩니다.

    BaiduYunGuanjia.db는 바이두 실행 파일이 있는 폴더의 하위 Users폴더 내 아이디 폴더 안에 있습니다.

    폴더 선택도 마찬가지로 폴더를 끌어다 놓으면 되고, 아니면 폴더 선택 버튼을 눌러 폴더를 지정하면 됩니다.

    폴더를 지정하지 않으면 스크립트가 실행된 폴더가 작업폴더가 됩니다.


    추출이 성공되면 추출 성공! 메시지가 뜨고 년월일시분초 숫자로 된 이름의 파일이 생성됩니다.

    CSV,List,Tab,칼럼 4 종류로 추출이 가능합니다.

    CSV는 구분 표시가 ","

    List는 구분 표시가 "|"

    Tab은 구분표시가 "탭키"

    칼럼은 대략적인 표로 표시됩니다.


    CSV를 오피스로 엽니다.

    그리고 A열을 선택하고


    홈 → 조건부 서식 → 셀 강조 규칙(H) → 중복 값(D)


    강조 색상을 선택 후 확인


    이렇게 중복된 파일이 표시됩니다.

    md5는 암호화 해시 함수(위키)로 파일 고유값입니다.

    파일 이름이 틀려도 이 MD5값이 같다면 동일 파일입니다.



    스크립트 파일이므로 여러분이 필요하다면 수정해서 사용하시면 됩니다.

    다운로드

    BaiduDBexport.zip


    정리하자면

    1. AutoHotKey_L 버전 다운로드 후 설치
    2. BaiduDBexport.zip 파일 다운로드 후 압축해제
    3. BaiduDBexport.ahk 실행
    4. BaiduYunGuanjia.db 파일에서 파일 목록 추출
    5. 오피스(엑셀)에서 중복 찾기


    이것도 바이두에서 중복 파일을 찾고 제거해주는 기능을 추가하면 쓸모없어질 포스트입니다만 일단 필요하신 분들을 위해 올립니다.


    아래는 AutoHotKey 스크립트 소스 코드입니다.

    추가 참고 사항

    sql 쿼리 부분을

    이렇게 고치면 md5 값이 중복인것만 뽑아서 저장합니다.


    #SingleInstance force
    #Persistent
    #NoEnv
    FileEncoding, UTF-8-RAW
    global query:= A_Temp . "\baidu.sql"
    global sqlite3 := A_WorkingDir "\sqlite3.exe"
    dbFile:=
    Folder:=
    IfNotExist, %sqlite3%
    {
    	MsgBox, sqlite3.exe 파일이 없습니다.
    	return
    }
    gosub, Gui
    return
    
    Gui:
    	Gui, add, text, w250, DB파일을 놓으세요 (BaiduYunGuanjia.db)
    	Gui, add, edit, xs w250 vcmd_name1 section, 파일 이름
    	Gui, add, edit, xs w250 vcmd_path1, DB파일 경로	
    	Gui, add, button, xs w100 gSelFolder,폴더 선택
    	Gui, add, text, xp+120 w130 yp+6 , 생성할 폴더 설정
    	Gui, add, edit, xs w250 vcmd_path2, 생성할 파일 경로	
    	Gui, add, DDL, xs+190 w60 vPatt gSelDDL AltSubmit,CSV||`List|`TAB|칼럼
    	Gui, add, text, xp-190 w190 yp+5, 생성할 파일 종류를 선택하세요
    	Gui, add, edit, xs w250 r5 vmatch,
    	Gui, add, button, xs w100 vRun,실행
    	Gui, add, button, xp+150  w100 vReset,초기화
    	Gui, show
    	gosub, selDDL
    return
    
    SelDDL:
    GuiControlGet, ddlVar,,Patt
    if ( ddlVar = 1 )
    	mode:="csv"
    if ( ddlVar = 2 )
    	mode:="list"
    if ( ddlVar = 3 )
    	mode:="tabs"
    if ( ddlVar = 4 )
    	mode:="column"
    
    sql := ".header on`n"
    sql .= ".mode " mode
    sql .= "`nselect md5,file_size,server_filename,server_path from cache_file where md5>0 order by file_size asc;"
    GuiControl,,match,%sql%
    return
    
    SelFolder:
    	FileSelectFolder, Folder
    	Folder := RegExReplace(Folder, "\\$")
    	GuiControl,,cmd_path2,%Folder%
    	gosub, SelDDL
    return
    
    parse_cmd:
    	Loop , parse, parameter, `r`n
    	{
    		if ( drop = "cmd_path1" or drop = "cmd_name1" ){
    			dbFile = %A_LoopField%
    		}else if ( drop = "cmd_path2" or drop = "cmd_name2" ){
    			Folder := RegExReplace(A_LoopField, "\\$")		
    		}else{
    			ToolTip, 정확한 위치에 놓으세요.
    			Sleep,1000
    			ToolTip
    		}
    		dropfile_path:=A_LoopField
    		StringRight, num,drop,1
    		SplitPath ,dropfile_path, ,,,dropfile_name
    		GuiControl  ,,cmd_name%num%, %dropfile_name%
    		GuiControl  ,,cmd_path%num%, %dropfile_path%
    	 Break
    	}
    	gosub, SelDDL
    return
    
    Action:
    IfExist, %query%
    	FileDelete, %query%
    FileAppend, %sql%, %query%
    if ( mode = "csv" )
    	OutputFile := Folder "\" A_Now "." mode
    else
    	OutputFile := Folder "\" A_Now ".txt"
    cmd := sqlite3 " """ dbFile """  < """ query """ > """ OutputFile """"
    RunWait, %ComSpec% /c %cmd%, , Hide UseErrorLevel
    if (Errorlevel) {
    	FileRead, tempQuery, %query%
    	newQuery := RegExReplace(tempQuery,"server_path","parent_path")
    	FileDelete, %query%
    	FileAppend, %newQuery%, %query%
    	RunWait, %ComSpec% /c %cmd%, , Hide UseErrorLevel
    	if ( ErrorLevel ){
    		FileDelete, %OutputFile%
    		MsgBox, 추출 실패!
    	}else{
    		gosub, success
    	}
    }else{
    	gosub, success
    }
    return
    
    success:
    	FileRead, tempVar, %OutputFile%
    	FileDelete, %OutputFile%
    	FileAppend, %tempVar%, %OutputFile%, UTF-8
    	tempVar:=
    	MsgBox, 추출 성공!
    return
    
    GuiDropFiles:
    	parameter := A_GuiEvent
    	drop:=A_GuiControl	
    	gosub parse_cmd
    return
    
    Button실행:
    	gui,submit,nohide
    	if ( dbFile = "" )
    	{
    		MsgBox, DB파일을 지정하세요
    		return
    	}
    	if ( Folder = "" )
    	{
    		MsgBox,4,폴더 지정,폴더가 설정되지 않았습니다.`n스크립트가 실행된 폴더로 기본 지정됩니다`n계속 하시겠습니까?
    		IfMsgBox, Yes
    		{
    			Folder = %A_WorkingDir%
    			gosub, SelDDL
    		}else{
    			return
    		}
    	}
    	gosub, Action
    return
    
    Button초기화:
    	Reload
    return
    
    Exit:
    GuiClose:
    IfExist, %query%
    	FileDelete, %query%
    ExitApp
    


    저작자표시 비영리 변경금지 (새창열림)
    'Tip/BaiduCloud' 관련 글 more
    • thumbnail
      바이두 클라우드 가입과 2T 확장 PC에서 하기 2015.09.19
    • 공유된 파일을 앱이나 프로그램에서 연결이 안될때 2015.08.08
    • thumbnail
      바이두 클라우드(윈도) 파일 리스트 정렬 방식 변경하기 2015.02.03
    • thumbnail
      바이두 클라우드에 내가 공유 중인 파일 확인 하는 방법 2015.01.31
    Posted by 확인소장

바로가기

  • thumbnail 이미지 외부링크용 구글 드라이브
  • thumbnail 대기오염 실시간 확인

블로그 내용 검색

블로그 이미지

인터넷 기술, 오토핫키, 바이두 클라우드 한글화

by 확인소장

공지사항

    최근...

  • 포스트
  • 댓글
  • 더 보기

태그

  • Android
  • 百度音乐
  • Baidu Cloud
  • 바이두 클라우드
  • 한글패치
  • BaiduCloud
  • 한국어
  • ADD
  • Baidu cloud app
  • baidu
  • BaiduYun
  • BaiduYunGuanjia
  • apk 한글화
  • baiduyun app
  • autohotkey
  • 百度云
  • 바이두
  • 百度
  • 바이두 한글
  • baidunetdisk
  • 바이두 뮤직
  • 한글화
  • 한국어 패치
  • 클라우드 한글화
  • 바이두 앱
  • BaiduYunApp
  • 百度云管家
  • 바이두 한글화
  • AHK
  • GUI

글 보관함

«   2025/07   »
일 월 화 수 목 금 토
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

링크

카테고리

  • 모든 글타래 (266)
    • Patch (158)
      • BaiduCloud (147)
      • BaiduMusic (7)
      • XiamiMusic (2)
    • Tip (86)
      • AHKmacro (20)
      • BaiduCloud (36)
      • PC활용 (29)
    • Monologue (13)
    • ETC (3)
    • Temp (6)

카운터

Total
Today
Yesterday
  • 홈
  • 방명록
  • 링크추가
확인소장's Blog is powered by daumkakao
Skin info material T Mark 5+ by 뭐하라
favicon

W기술과 생활

인터넷 기술, 오토핫키, 바이두 클라우드 한글화

  • 홈
  • 방명록
  • 링크추가

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 모든 글타래 (266)
    • Patch (158)
      • BaiduCloud (147)
      • BaiduMusic (7)
      • XiamiMusic (2)
    • Tip (86)
      • AHKmacro (20)
      • BaiduCloud (36)
      • PC활용 (29)
    • Monologue (13)
    • ETC (3)
    • Temp (6)

카테고리

PC화면 보기
티스토리
Daum

티스토리툴바