>source

안녕하세요이 코드를 사용하여 한 번에 하나의 파일을 이동할 수 있습니다.이 코드를 "C3 : C"범위로 이동하고 "C3 : C"범위에서 ID가 포함 된 파일을 이동하면됩니다. 범위를 반복해야합니다. 어떤 도움이 큰 도움이 될지 적절한 방식으로 수행하는 방법을 잘 모르겠습니다.

function moveFile(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ws = ss.getSheetByName('sheet1');
var range = ws.getRange('C3:C').getValues();
var ID = "1002";
 
var files = DriveApp.getFolderById('1ixzEPTL9--IDNUMBER--n9WwDa68l').searchFiles("title contains '" + ID + "'" ).next(); 
var name = files.getName();
var file_id = files.getId();
var file_Blob = files.getBlob();
var file = DriveApp.getFileById(file_id);
   
var sourceFileId = file_id;
var destinationFolderId = "1m5J09ODZv--IDNUMBER--knTpewg8f0D";
Drive.Files.update({ parents: [{ id: destinationFolderId }] }, sourceFileId);
 

}

  • 답변 # 1

    나는 당신의 목표를 다음과 같이 믿습니다.

    다음을 포함하는 파일 이름을 가진 파일을 이동하려고합니다. ID Google Apps Script를 사용하여 "C"열에서 검색.

    수정 지점 :

    이 경우 다음과 같은 흐름을 제안하고 싶습니다.

    폴더에서 "C"열의 값을 포함하여 파일 이름이있는 파일의 파일 목록을 검색합니다. 1ixzEPTL9--IDNUMBER--n9WwDa68l .

    파일 이동 1m5J09ODZv--IDNUMBER--knTpewg8f0D 사용 moveTo 파일 목록과 함께.

    수정 된 스크립트 :

    function moveFile(){
      var sourceFolderId = "1ixzEPTL9--IDNUMBER--n9WwDa68l";  // Please set the source folder ID.
      var destinationFolderId = "1m5J09ODZv--IDNUMBER--knTpewg8f0D";  // Please set the destination folder ID.
      
      // 1. Retrieve the file list of the files with the filename including the values of column "C" from the folder `1ixzEPTL9--IDNUMBER--n9WwDa68l`.
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var ws = ss.getSheetByName('sheet1');
      var IDs = ws.getRange('C3:C' + ws.getLastRow()).getValues().filter(([c]) => c.toString() != "");
      var files = [];
      var srcFiles = DriveApp.getFolderById(sourceFolderId).getFiles();
      while (srcFiles.hasNext()) {
        var file = srcFiles.next();
        if (IDs.some(([ID]) => file.getName().includes(ID))) {
          files.push(file);
        }
      }
      
      // 2. Move files to `1m5J09ODZv--IDNUMBER--knTpewg8f0D` using `moveTo` with the file list.
      var destinationFolder = DriveApp.getFolderById(destinationFolderId);
      files.forEach(file => file.moveTo(destinationFolder));
    }
    
    

    노트 :

    이동하려는 파일이 많은 경우 일괄 요청이 적합 할 수 있습니다. Ref

    참조 :

    포함 ()

    moveTo (대상)

관련 자료

  • 이전 python - 팬더에서 색상을 변경하거나 사용자 정의하는 방법은 무엇입니까?
  • 다음 php - 하나의 SELECT (mysql)에 대해 여러 WHERE를 수행 할 수 있습니까?