Skip to content

Object reference

Drive folder

A DriveApp.Folder is a container in Google Drive. Find one by name with DriveApp.getFoldersByName(name) or by ID with DriveApp.getFolderById(id).

DriveApp.Folder

Start here

Get this object first

Find a folder by its exact name with DriveApp.getFoldersByName(), then check hasNext() before calling next(). When you have the folder ID from its Drive URL, use DriveApp.getFolderById(id) instead.

Code.gs
function showSavedAttachmentFolderName() {
  const folders = DriveApp.getFoldersByName('Saved email attachments');
  if (!folders.hasNext()) throw new Error('Create a Drive folder named Saved email attachments first.');
  Logger.log(folders.next().getName());
}

Then use it

Common actions

Choose an action, then open its example only when you need the code.

Count the files in a folder

This counts the files currently in the named folder without moving or changing them.

DriveApp.Folder
Show example code
Code.gs
function countSavedAttachments() {
  const folders = DriveApp.getFoldersByName('Saved email attachments');
  if (!folders.hasNext()) throw new Error('Create a Drive folder named Saved email attachments first.');
  const files = folders.next().getFiles();
  let count = 0;
  while (files.hasNext()) {
    files.next();
    count += 1;
  }
  Logger.log(count);
}

List file names inside a folder

This iterates through getFiles() in the named folder and logs each file name without modifying any files.

DriveApp.FolderDriveApp.File
Show example code
Code.gs
function logFolderFileNames() {
  const folders = DriveApp.getFoldersByName('Saved email attachments');
  if (!folders.hasNext()) throw new Error('Create a Drive folder named Saved email attachments first.');
  const files = folders.next().getFiles();
  const names = [];
  while (files.hasNext()) {
    names.push(files.next().getName());
  }
  Logger.log(names.join(', ') || 'Folder is empty');
}

Log the folder URL and subfolder count

This reads the Drive folder URL with getUrl() and counts direct child folders with getFolders() without creating or moving anything.

DriveApp.Folder
Show example code
Code.gs
function logFolderUrlAndSubfolderCount() {
  const folders = DriveApp.getFoldersByName('Saved email attachments');
  if (!folders.hasNext()) throw new Error('Create a Drive folder named Saved email attachments first.');
  const folder = folders.next();
  const subfolders = folder.getFolders();
  let count = 0;
  while (subfolders.hasNext()) {
    subfolders.next();
    count += 1;
  }
  Logger.log(folder.getUrl() + ' (' + count + ' subfolders)');
}

Technical reference

Exact names and signatures

Generated runtime and signature facts stay separate from the beginner actions above. Open method details only when you need them.

At a glance

Service
DriveApp
Reference symbol
DriveApp.Folder
Object
Folder
Runtime
From signature data

Methods and signatures

Browse 51 methods

addEditor

From signature data Google source
  • addEditor(emailAddress: string): DriveApp.Folder
  • addEditor(user: User): DriveApp.Folder

addEditors

From signature data Google source
  • addEditors(emailAddresses: string[]): DriveApp.Folder

addFile

From signature data Google source
  • addFile(child: DriveApp.File): DriveApp.Folder

addFolder

From signature data Google source
  • addFolder(child: DriveApp.Folder): DriveApp.Folder

addViewer

From signature data Google source
  • addViewer(emailAddress: string): DriveApp.Folder
  • addViewer(user: User): DriveApp.Folder

addViewers

From signature data Google source
  • addViewers(emailAddresses: string[]): DriveApp.Folder

createFile

From signature data Google source
  • createFile(blob: BlobSource): DriveApp.File
  • createFile(name: string, content: string): DriveApp.File
  • createFile(name: string, content: string, mimeType: string): DriveApp.File

createFolder

From signature data Google source
  • createFolder(name: string): DriveApp.Folder

createShortcut

From signature data Google source
  • createShortcut(targetId: string): DriveApp.File

createShortcutForTargetIdAndResourceKey

From signature data Google source
  • createShortcutForTargetIdAndResourceKey(targetId: string, targetResourceKey: string): DriveApp.File

getAccess

From signature data Google source
  • getAccess(email: string): DriveApp.Permission
  • getAccess(user: User): DriveApp.Permission

getDateCreated

From signature data Google source
  • getDateCreated(): Date

getDescription

From signature data Google source
  • getDescription(): string

getEditors

From signature data Google source
  • getEditors(): User[]

getFiles

From signature data Google source
  • getFiles(): DriveApp.FileIterator

getFilesByName

From signature data Google source
  • getFilesByName(name: string): DriveApp.FileIterator

getFilesByType

From signature data Google source
  • getFilesByType(mimeType: string): DriveApp.FileIterator

getFolders

From signature data Google source
  • getFolders(): DriveApp.FolderIterator

getFoldersByName

From signature data Google source
  • getFoldersByName(name: string): DriveApp.FolderIterator

getId

From signature data Google source
  • getId(): string

getLastUpdated

From signature data Google source
  • getLastUpdated(): Date

getName

From signature data Google source
  • getName(): string

getOwner

From signature data Google source
  • getOwner(): User

getParents

From signature data Google source
  • getParents(): DriveApp.FolderIterator

getResourceKey

From signature data Google source
  • getResourceKey(): string

getSecurityUpdateEligible

From signature data Google source
  • getSecurityUpdateEligible(): boolean

getSecurityUpdateEnabled

From signature data Google source
  • getSecurityUpdateEnabled(): boolean

getSharingAccess

From signature data Google source
  • getSharingAccess(): DriveApp.Access

getSharingPermission

From signature data Google source
  • getSharingPermission(): DriveApp.Permission

getSize

From signature data Google source
  • getSize(): number

getUrl

From signature data Google source
  • getUrl(): string

getViewers

From signature data Google source
  • getViewers(): User[]

isShareableByEditors

From signature data Google source
  • isShareableByEditors(): boolean

isStarred

From signature data Google source
  • isStarred(): boolean

isTrashed

From signature data Google source
  • isTrashed(): boolean

moveTo

From signature data Google source
  • moveTo(destination: DriveApp.Folder): DriveApp.Folder

removeEditor

From signature data Google source
  • removeEditor(emailAddress: string): DriveApp.Folder
  • removeEditor(user: User): DriveApp.Folder

removeFile

From signature data Google source
  • removeFile(child: DriveApp.File): DriveApp.Folder

removeFolder

From signature data Google source
  • removeFolder(child: DriveApp.Folder): DriveApp.Folder

removeViewer

From signature data Google source
  • removeViewer(emailAddress: string): DriveApp.Folder
  • removeViewer(user: User): DriveApp.Folder

revokePermissions

From signature data Google source
  • revokePermissions(emailAddress: string): DriveApp.Folder
  • revokePermissions(user: User): DriveApp.Folder

searchFiles

From signature data Google source
  • searchFiles(query: string): DriveApp.FileIterator

searchFolders

From signature data Google source
  • searchFolders(query: string): DriveApp.FolderIterator

setDescription

From signature data Google source
  • setDescription(description: string): DriveApp.Folder

setName

From signature data Google source
  • setName(name: string): DriveApp.Folder

setOwner

From signature data Google source
  • setOwner(emailAddress: string): DriveApp.Folder
  • setOwner(user: User): DriveApp.Folder

setSecurityUpdateEnabled

From signature data Google source
  • setSecurityUpdateEnabled(enabled: boolean): DriveApp.Folder

setShareableByEditors

From signature data Google source
  • setShareableByEditors(shareable: boolean): DriveApp.Folder

setSharing

From signature data Google source
  • setSharing(accessType: DriveApp.Access, permissionType: DriveApp.Permission): DriveApp.Folder

setStarred

From signature data Google source
  • setStarred(starred: boolean): DriveApp.Folder

setTrashed

From signature data Google source
  • setTrashed(trashed: boolean): DriveApp.Folder

Need the whole workflow?

Return to a task guide

Task guides cover setup, permissions, expected results, and troubleshooting as well as object methods.

Browse Google Drive tasks