質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

解決済

2回答

7236閲覧

folder.getSize()でフォルダの容量が取得できない

退会済みユーザー

退会済みユーザー

総合スコア0

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

1クリップ

投稿2017/08/05 07:14

編集2017/08/27 21:52

google apps scriptで下記のプログラムがあります。

function main(){ var id = "********"; var Folder = DriveApp.getFolderById(id); var folders = Folder.getFolders(); while(folders.hasNext()){ var folder; var size; folder = folders.next(); size = folder.getSize(); Logger.log(size); } }

このsizeを確認すると、0.0になっています。
フォルダ配下には、googleドキュメントではなくjpg画像が入っているので、0.0にはならないはずです。

なぜ0.0なのでしょうか。
ご教示の程宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hotta

2017/08/05 09:21

コード全体を範囲指定して<code>を押してください。
guest

回答2

0

ベストアンサー

Google

1function myFunction() { 2 var folder = DriveApp.getFolderById('0B6UEL8Q6ZhJgd1J6eXR6OW1jYUU'); 3 Logger.log('folder name =' + folder.getName() + ', Size = ' + folder.getSize()); 4 var files = folder.getFiles(); 5 while (files.hasNext()) { 6 var file = files.next(); 7 Logger.log('file name = ' + file.getName() + ', Size = ' + file.getSize()); 8 } 9}

こんな感じのスクリプトを書いて実行してみました。

log

1[17-08-06 03:48:52:195 PDT] folder name =test, Size = 0 2[17-08-06 03:48:52:496 PDT] file name = airset2-2015.exe, Size = 1473808 3[17-08-06 03:48:52:499 PDT] file name = 000058604.pdf, Size = 2777769 4 5```ファイル一つ一つを取り出してサイズを調べることはできますが、確かにフォルダの 6サイズとしては0が返ってきますね。 7 8ネットで調べてみましたが、はっきりした結論はわかりませんでした。 9 10[How to view the folder size in Google Drive?](https://webapps.stackexchange.com/questions/49122/how-to-view-the-folder-size-in-google-drive) 11 12 13個人的には、Google drive のフォルダはいわゆるコンテナ(入れ物)ではなく、 14Gmail と同様に、単なるラベルに過ぎないんじゃないかと想像しています。 15入れ物ではないのでサイズは 0。ラベルなので、1個のファイルに複数のラベルを 16つければ、あたかも複数のフォルダに同じファイルがあるようにみえる、みたいな。

投稿2017/08/06 10:51

hotta

総合スコア1613

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/08/07 10:00

回答ありがとうございます。 File.getSize()でファイル容量をsumする方法でフォルダ容量を出すようにしようと思います。
guest

0

私も Folder.getSize() を使用してみましたが、大きなファイルが格納されているフォルダでも 0 しか返ってきませんでした。
リファレンス にそのようなことは書いていないので腑には落ちませんが、Googleドライブ上でもフォルダはファイルサイズが表示されていないので、そのようなものと割り切った方が良いかもしれません。

File.getSize() は機能しているので、フォルダ内のファイルサイズを合計するプログラムを作成してみてはいかがでしょうか。

投稿2017/08/07 05:29

rokuni

総合スコア174

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/08/07 10:01

回答ありがとうございました。 現時点では、folder.getSize()では値を取得できないということがわかりました。 file.getSize()で各ファイルをsumして値を取得しようと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問