>source

저는 Google Scripts를 처음 사용합니다. Google 드라이브의 단일 폴더에 업로드 된 모든 파일을 파일 이름의 일부를 기준으로 다른 폴더로 자동으로 이동하려고합니다. 3 예제 파일 : APX PMT 05.02.2019, ALT PMT 05.03.2019, BEA PMT 05.04.2019 파일 이름의 처음 3자를 기준으로 이러한 파일을 대상 폴더로 이동하려고합니다. APX PMT 05.02.2019는 APX 폴더로 이동하고 ALT PMT 05.03.2019는 ALT 폴더로 이동합니다.

이것이 처음 인 코드 샘플은 없습니다. Google에서 한 폴더에서 다른 폴더로 파일을 자동으로 이동 드라이브 는이를 배우는 데 좋은 출발이지만 여전히 파일 이름의 일부만 기반으로 파일을 이동시키는 방법을 잘 모르겠습니다.

결과 : 사람들이 파일을 단일 대상에 업로드 할 수있게하고 코드는 자동으로 해당 폴더로 파일을 이동합니다.

테스트 코드 버전 2.0. 직장에서 파일 이름의 첫 7 문자로 정렬하기를 원하므로 2 문자 세트 (BEA RFT를 BEARFT 또는 BEA_RFT로 변경) 사이의 공백을 제거하면 아래와 같이 작동합니다. 문자에 공백이있을 때 어떻게 작동합니까? :

function moveFiles() {
  var dfldrs=['BEA RFT', 'BEA ADJ', 'BEA PMT', 'BEA CHG'];//Seven letter prefixes
  var ofObj={BEA RFT:'ID',BEA ADJ:'ID',BEA PMT:'ID',BEA CHG:'ID'};//distribution folder ids
  var upldFldr=DriveApp.getFolderById('ID');
  var files=upldFldr.getFiles();
  while(files.hasNext()) {
    var file=files.next();
    var key=file.getName().slice(0,7);
    var index=dfldrs.indexOf(key);
    if(index>-1) {
      Drive.Files.update({"parents": [{'id': ofObj[key]}]}, file.getId());  
    }
  }
}


  • 답변 # 1

    파일 이동

    스크립트를 실행하기 전에이 지침을 읽으십시오

      세 문자 접두사를 제공해야합니다

      각 접두사와 관련된 배포 폴더 ID를 제공해야합니다

      업로드 폴더 ID를 제공해야합니다

      업로드 파일 스크립트에서이 프로그램을 실행하거나 원하는대로 대체 트리거 기능을 제공해야합니다.

      Advance Drive API 버전 2를 활성화해야합니다.

      코드

      function moveFiles() {
        var dfldrs=['APX','ALT','BEA'];//Three letter prefixes
        var ofObj={APX:'APX id',ALT:'ALT id',BEA:'BEA id'};//distribution folder ids
        var upldFldr=DriveApp.getFolderById('folderid');
        var files=upldFldr.getFiles();
        while(files.hasNext()) {
          var file=files.next();
          var key=file.getName().slice(0,3);
          var index=dfldrs.indexOf(key);
          if(index>-1) {
            Drive.Files.update({"parents": [{"id": ofObj[key]}]}, file.getId());  
          }
        }
      }
      
      

      드라이브 API 참조

관련 자료

  • 이전 python - 비어 있지 않은 메시지를 보내는데도 "httpexception - bad request (상태 코드 : 400) : 빈 메시지를 보낼 수 없음"을 반환하는 discord bot
  • 다음 python - 데이터베이스 기반의 공기 흐름 dag 정의를 효율적으로 만드는 방법