Stay organized with collections
Save and categorize content based on your preferences.
FileIterator
An iterator that allows scripts to iterate over a potentially large collection of files. File
iterators can be accessed from DriveApp or a Folder.
// Log the name of every file in the user's Drive.constfiles=DriveApp.getFiles();while(files.hasNext()){constfile=files.next();Logger.log(file.getName());}
Gets the next item in the collection of files or folders.
Detailed documentation
getContinuationToken()
Gets a token that can be used to resume this iteration at a later time. This method is useful
if processing an iterator in one execution would exceed the maximum execution time.
Continuation tokens are generally valid for one week.
Return
String — a continuation token that can be used to resume this iteration with the items that
remained in the iterator when the token was generated
hasNext()
Determines whether calling next() will return an item.
Return
Boolean — true if next() will return an item; false if not
next()
Gets the next item in the collection of files or folders. Throws an exception if no items
remain.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-12-02 UTC."],[[["\u003cp\u003eFileIterator allows scripts to iterate over a large collection of files within Google Drive, accessible via \u003ccode\u003eDriveApp\u003c/code\u003e or a \u003ccode\u003eFolder\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eIt provides methods to check for more files (\u003ccode\u003ehasNext()\u003c/code\u003e), retrieve the next file (\u003ccode\u003enext()\u003c/code\u003e), and manage long iterations with continuation tokens (\u003ccode\u003egetContinuationToken()\u003c/code\u003e).\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003egetContinuationToken()\u003c/code\u003e helps to resume iterations that might exceed execution time limits, with tokens typically valid for a week.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003ehasNext()\u003c/code\u003e returns \u003ccode\u003etrue\u003c/code\u003e if there are more files to iterate, allowing scripts to control the loop.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003enext()\u003c/code\u003e retrieves the subsequent file in the collection, throwing an exception if none remain.\u003c/p\u003e\n"]]],[],null,["# Class FileIterator\n\nFileIterator\n\nAn iterator that allows scripts to iterate over a potentially large collection of files. File\niterators can be accessed from [DriveApp](/apps-script/reference/drive/drive-app) or a [Folder](/apps-script/reference/drive/folder).\n\n```javascript\n// Log the name of every file in the user's Drive.\nconst files = DriveApp.getFiles();\nwhile (files.hasNext()) {\n const file = files.next();\n Logger.log(file.getName());\n}\n``` \n\n### Methods\n\n| Method | Return type | Brief description |\n|---------------------------------------------------|-------------------------------------------|-------------------------------------------------------------------------|\n| [getContinuationToken()](#getContinuationToken()) | `String` | Gets a token that can be used to resume this iteration at a later time. |\n| [hasNext()](#hasNext()) | `Boolean` | Determines whether calling [next()](#next()) will return an item. |\n| [next()](#next()) | [File](/apps-script/reference/drive/file) | Gets the next item in the collection of files or folders. |\n\nDetailed documentation\n----------------------\n\n### `get``Continuation``Token()`\n\nGets a token that can be used to resume this iteration at a later time. This method is useful\nif processing an iterator in one execution would exceed the maximum execution time.\nContinuation tokens are generally valid for one week.\n\n#### Return\n\n\n`String` --- a continuation token that can be used to resume this iteration with the items that\nremained in the iterator when the token was generated\n\n*** ** * ** ***\n\n### `has``Next()`\n\nDetermines whether calling [next()](#next()) will return an item.\n\n#### Return\n\n\n`Boolean` --- `true` if [next()](#next()) will return an item; `false` if not\n\n*** ** * ** ***\n\n### `next()`\n\nGets the next item in the collection of files or folders. Throws an exception if no items\nremain.\n\n#### Return\n\n\n[File](/apps-script/reference/drive/file) --- the next item in the collection"]]