Tablacus Explorer에서 선택한 항목을 JScript에서python에 전달한 후 일괄적으로 이름 바꾸기

개시하다


어떤 작업 폴더의 내용이 흐트러지면 같이 이름을 바꾸고 싶을 때가 있다.
만들어낸 물건.

요구로 삼다
  • GUI 실행
  • 평소 사용하는 GUI 작업Tablacus Explorer으로 하고 싶어요
  • 객체를 선택할 때 마우스로 파일의 상세 표시에서 단추를 선택
  • 일본어 파일 이름은 케이스 입력이 고통스럽다
  • 논리적인 부분을 쉽게 설명할 수 있도록
  • 매번 똑같기 때문에 규칙을 바꿀 수 있다
  • psyhon 같은 익숙한 언어로 표현하고 싶다
  • 추가 처리 가능
  • 이루어지다


    버튼 제작 및 JScript


    Tablacus Explorer의 도구 모음에 버튼을 추가합니다.
    그곳→추가를 마우스 오른쪽 단추로 클릭하여 대화상자를 엽니다.
    //名前:(適当)
    //タイプ:JScript
    //オプション:(以下コード)
    //アイコン:(適当)
    
    var FV = GetFolderView(Ctrl, pt);
    var Selected = FV.SelectedItems();
    
    if (Selected) {
        var dat = "";
        for (var i = 0; i < Selected.Count; i++) {
          dat += "\"" + Selected.Item(i).Path + '\" ';
        }
        if (dat == "") {
          alert("not selected.");
        } else {
            wsh.Run("C:/foo/Src/Python27/python.exe C:/foo/Sample/rename_selected.py " + dat);
        }
    }
    
    //コードコピペしたら"追加"で"OK"
    
    내용으로 삼다
  • 선택 항목 목록 가져오기
  • 목록에서 전체 경로 추출
  • 전체 경로 1'(전체 경로 2).문자열 조합
  • 조합 문자열을 매개 변수로 다음에 설명한 ptyhon 스크립트에 매개 변수로 제공
  • 다시 명명한다


    자신의 운행 환경에서 스크립트를 만들다.
    rename_selected.py
    
    # coding: Shift_JIS
    import os
    import sys
    
    def get_selected_list(param):
        target_list = []
        if len(param) > 1:
            for folder in param:
                folder = unicode(folder, encoding='shift-jis').replace(unicode("\\", encoding='shift-jis'), "/")
                target_list.append(folder)
        return target_list
    
    def rename_folder(src_path):
        dst_path = src_path
    
        # 置換ルールは適当に、以下は特定の単語をトリムする例
        # フルパスマッチだから途中でひっかかったらと思うと邪悪である
        dst_path = dst_path.replace(unicode(" - コピー", encoding='shift-jis'), "")
        dst_path = dst_path.replace(unicode(" (1)", encoding='shift-jis'), "")
        dst_path = dst_path.replace(unicode("_yymmdd", encoding='shift-jis'), "")
        if not os.path.isdir(dst_path):
            os.rename(src_path, dst_path)
    
    if __name__ == "__main__":
        folder_list = get_selected_list(sys.argv)
        for folder in folder_list:
            rename_folder(folder)
    
    
    
    일본어 파일 시스템이 힘들다는 내용이에요.
    (취향대로 하고 싶지만 특별히 고급스러운 정규 표현과 싸우지는 않는다)

    각 설치에 초점을 맞췄습니다.


    Tablacus Explorer에서 선택한 객체에 대한python 기술


    Tablacus Explorer 같은 스크립트 확장?탐색해 봤는데 당연히JScript가 뭐야?됐어.
    그리고 나는 JScript의 기술을 최소화하고 가능한 처리를 pyhon에 버리고 싶지만'(키워드) JScript-javascript'로 불평하는 것은 너무 번거롭다.
    그리고 조금만 알아두면 다음 차이는 서서히 작용할 거야...
    MDIE를 스크립트로 Tablacus Explorer로 마이그레이션할 때 고려할 사항입니다.대상 대비 등.
    마침내 아래의 몇 걸음에 이르러서야 마침내 무사해졌다.
  • 나는 어딘가에 요구되는 대본 세 개를 썼다.· 폴더 구성만 클립보드 var Create Folder Only 2 = function(path, dest, Items, nAdd) {ap.SetWindowText(te.hwnd, path), Create Folder(dest),...
  • 매일 프로그래밍에 기록된 노트 블로그
  • 요소 기술 방면에는 다음과 같은 등이 필요하다.
  • Tablacus에서 선택 항목 가져오기
  • 선택한 항목의 전체 경로 가져오기
  • alert 디버깅
  • JScrip에서 외부 스크립트 호출
  • 일본어 변수 전달
  • (현재 통행증이 있는 줄 알았는데 소용없어, 받았어)
  • 일본어 파일 시스템과 싸우는 게 힘들어요.


    왜 아직이야?지옥에서 탈출할 수 없나요

    감상


    최근에 Tablacus Explorer에 작은 스크립트를 썼고python에 로컬 실행 시스템을 부르는 스크립트를 썼습니다.
    브라우저에서 책갈피 + 자기가 만든 야량 아디언과 똑같다.
    개인적으로 GUI의 처리는 어떻게 CUI와 프로그래밍 언어의 처리와 연결된다고 생각합니까?중요하니까 울타리 하나하나를 잘 뛰어넘었으면 좋겠어요.
    그나저나 별도의 GUI 애플리케이션을 만들 수는 있지만 그렇게 하지는 않았다.
    평소 켜놓은 앱에서 하고 싶다기보다는 좁은 디스플레이 공간에서 여분의 앱을 시작하기 싫어서다.
    화염의 가장자리에 버튼을 달면 충분하다.
    이상.

    좋은 웹페이지 즐겨찾기