10

複数のファイルを作成してフォルダーに移動する Apps Script があります。ファイルをフォルダーに直接配置する方法はありますか、または最初にファイルを取得してから適切なフォルダーにコピーし、次のようにルートフォルダーから削除する必要がありますか?

folder=DocsList.createFolder("MyFolder");
var file=DocsList.createFile(blob);
file.addToFolder(folder);
file.removeFromFolder(DocsList.getRootFolder());

これに関する問題は、ドライブを開くと、ファイルが最初にルート フォルダに配置され、次にMyFolder. そのため、実行までに少しラグがありremoveFromFolderます。

4

5 に答える 5

12

次のコードをテストしました

function Test() {
  DocsList.createFolder('Folder1').createFolder('Subfolder1').createFile('File1', 'Empty');
}

期待どおりに動作します。つまりFile1、新しく作成されたフォルダーに新しいドキュメントが作成されましたMy Drive\Folder1\Subfolder1

于 2012-08-11T13:55:11.010 に答える
8

2015 年現在、DriveApp サービスを使用して Google ドライブのファイルを管理する必要があります。DriveApp には、フォルダ内に直接ファイルを作成できる Folder クラスがあります。

function createFilesInFolder() {
  //This creates the folder
  var folder = DriveApp.createFolder('My Folder');
  //This creates a file in the folder
  var file = folder.createFile('My File.txt', 
                               'Lorem ipsum', 
                               MimeType.PLAIN_TEXT);
}
于 2015-06-08T22:32:56.510 に答える
4

コメントしたかっただけです(ただし、50の評判ポイントはありません)。

元の投稿が機能しなかったときに上記の答えが機能する理由は、 .createFolder が DocsList.createFolder (ルート ディレクトリにフォルダーを作成する) と、現在のフォルダーにサブフォルダーを作成する Folder.createFolder の両方に適用されるためです。

私以外の人には明らかかもしれませんが、気付くのにかなりの時間がかかりました:-)

于 2013-12-23T11:24:26.053 に答える