Move Files in Google Drive

Apps Script lets you move files between Drive folders using file.moveTo(destination). This is ideal for archiving closed deals, reorganizing reports by region, or automatically routing uploaded files into the right folder.

Moving a Single File

function moveFileToArchive() { var file = DriveApp.getFileById("YOUR_FILE_ID"); var destination = DriveApp.getFolderById("YOUR_ARCHIVE_FOLDER_ID"); file.moveTo(destination); Logger.log("Moved: " + file.getName() + " to " + destination.getName()); }

Moving Files Based on Name Pattern

This example moves all files whose names start with "March 2024" into an archive folder:

function archiveMarchReports() { var sourceFolder = DriveApp.getFolderById("YOUR_REPORTS_FOLDER_ID"); var archiveFolder = DriveApp.getFolderById("YOUR_ARCHIVE_FOLDER_ID"); var files = sourceFolder.getFiles(); while (files.hasNext()) { var file = files.next(); if (file.getName().startsWith("March 2024")) { file.moveTo(archiveFolder); Logger.log("Archived: " + file.getName()); } } }

Routing Files to Region Folders from Sheet Data

This example reads each closed deal from the Sales Tracker sheet, finds the matching export file by customer name, and moves it into the correct regional folder:

function routeReportsByRegion() { var sheet = SpreadsheetApp .getActiveSpreadsheet() .getSheetByName("Sales Tracker"); var data = sheet.getRange(2, 1, sheet.getLastRow() - 1, 6).getValues(); // Columns: [Customer Name, Email, Product, Amount, Region, Sales Rep] var rootFolder = DriveApp.getFolderById("YOUR_ROOT_FOLDER_ID"); data.forEach(function(row) { var customerName = row[0]; var region = row[4]; // Find the report file for this customer var files = DriveApp.searchFiles('title contains "' + customerName + '" and trashed = false'); if (!files.hasNext()) return; var file = files.next(); // Get or create the destination region folder var regionFolders = rootFolder.getFoldersByName(region + " - Sales Reports"); if (!regionFolders.hasNext()) return; var destination = regionFolders.next(); file.moveTo(destination); Logger.log("Moved " + file.getName() + " to " + region); }); }

For the sample data, Sarah Johnson's report moves to North - Sales Reports, Mark Chen's to East - Sales Reports, and so on.

Copying Instead of Moving

If you want to keep the original in place and put a copy in a new location:

function copyReportToBackup() { var file = DriveApp.getFileById("YOUR_FILE_ID"); var backupFolder = DriveApp.getFolderById("YOUR_BACKUP_FOLDER_ID"); var copy = file.makeCopy("BACKUP - " + file.getName(), backupFolder); Logger.log("Backup created: " + copy.getName()); }