バッチファイルでディレクトリの使用容量を取得したい
バッチファイル初心者です。
下記の様に、Sドライブの配下に、Afolder~Efolderまで、複数フォルダーがあります。
S:\Afolder
S:\Bfolder
S:\Cfolder
S:\Dfolder
S:\Efolder
A~Eまで、それぞれフォルダーの使用容量を日々チェックをしたいのですが、
フォルダーのプロパティから確認すると、複数フォルダーがあるので、結構面倒です。
バッチファイルで、複数フォルダーの使用容量を一括で取得出来たら便利だと思いますが、
バッチフォルダーはほとんど分かりません。
どなたか、分かる方教えてください。
よろしくお願いします。
No.6ベストアンサー
- 回答日時:
No.3です。
使用しているOSが XP Pro ということでデスクトップにsizelist.txtというファイルを
出力するよう修正してみましたのでご確認ください。
:--------------------------------------------------
echo off
set fname="%USERPROFILE%\デスクトップ\sizelist.txt"
if exist %fname% del %fname%
pushd s:\
for /D %%d in (*) do call :sub "%%d"
exit /b
:sub
for /F "tokens=3 delims= " %%a in ('dir /s %1 ^| find "個のファイル"') do set size=%%a
echo %1,"%size%">>%fname%
goto :EOF
:--------------------------------------------------
No.5
- 回答日時:
#4さんで正解だと思いますよ。
echo %1,"%size%">>sizelist.txtの部分は毎回追加書き出しになりますので、毎日更新するのなら
echo %1,"%size%" >sizelist.txtの方が良いかもしれません。
このファイルを読み込んでExcelないしAccessでデータベース化すればよいでしょう。
ちなみにどちらもマクロを仕込んだExcelやAccessをバッチ上からキックできますよ。
>また、使用量と思われる値が返ってきていますが、バイト単位だと思いますが、
>実際、フォルダーのプロパティで確認した数字と全然違うものになります。
そりゃあそうです。ここで取得しているのは純粋にファイルのサイズですね。(バイト単位です。)
フォルダで確認するのはHDDの占有量です。
たとえば、2K単位でHDDのセクターが管理されている場合、1Bytから2048Bytまでは、HDD上では2Kbyt消費されることになるからです。
No.4
- 回答日時:
No.3です。
ざっと作ったので、以下の場合の想定が漏れていました。すみません。
1)フォルダ名称に空白が入ることがある
2)フォルダ内にサブフォルダがある場合の総数を集計していない
その点を修正してみました。
:-------------------------------------------------------
echo off
pushd s:\
for /D %%d in (*) do call :sub "%%d"
exit /b
:sub
for /F "tokens=3 delims= " %%a in ('dir /s %1 ^| find "個のファイル"') do set size=%%a
echo %1,"%size%"
goto :EOF
:-------------------------------------------------------
>2.この結果をテキストファイルにして、デスクトップに作成させる事は
>できますでしょうか。
デスクトップはOSによってフォルダの場所(の記述)が異なりますので、
使用するOSの情報がないとお答えできません。
S:\にファイルを出力する場合でしたら、
最後から2行目の
echo %1,"%size%"
↓
echo %1,"%size%">>sizelist.txt
と記述すれば、S:\sizelist.txt というファイルが出力可能です。
※dirコマンドの出力結果を利用しているため、サブフォルダの階層が深い場合は時間がかかります。
ご回答ありがとうございます。
教えていただいたもので、取得出来たようです。
テキストファイルに落としたいのですが、使用しているPCのOSは、
WindowsXP pro SP3 になります。
echo %1,"%size%">>sizelist.txt でやっところ、『アクセスが拒否されました』と表示され、一つも取得出来ませんでした。
引き続きよろしくお願いします。
No.3
- 回答日時:
Windows XP以降のOSとして回答します。
以下にサンプルをざっと書いてみました。dirコマンドの出力からフォルダのサイズを取得しています。
echo off
pushd s:\
for /D %%d in (*) do for /F "tokens=3 delims= " %%a in ('dir %%d ^| find "個のファイル"') do echo %%d -- %%a
ご回答ありがとうございます。
試してみたのですが、いくつか質問させてください。
1.バッチファイルを実行した結果が下記になります。
Afolder -- 0
Bfolder -- 242,874
Cfolder -- 4,166,368
Dfolder -- 7,958,143
ファイルが見つかりません
Efolder -- 6,393,645
・
・
・
・
複数あるフォルダーのうちのいくつかは「ファイルが見つかりません」と表示されてしまいます。
なぜでしょうか?
また、使用量と思われる値が返ってきていますが、バイト単位だと思いますが、
実際、フォルダーのプロパティで確認した数字と全然違うものになります。
2.この結果をテキストファイルにして、デスクトップに作成させる事はできますでしょうか。
お手数をおかけいたしますが、よろしくお願いします。
ご回答ありがとうございます。
ここで質問する前に、ご紹介いただいたHPを見て試したのですが、
デスクトップに『diruse』という拡張子の無いファイルが出力され、Notepadで開いて中を確認したのですが、
何の記載もありませんでした。
No.1
- 回答日時:
直接の回答ではありませんが…。
「Folder Size」というエクスプローラの機能拡張をするフリーソフトがあります。
インストールして設定すると、Sドライブだけフォルダ内のファイルサイズの合計を表す「Folder Size」列を表示できます。
http://www.forest.impress.co.jp/lib/sys/wincust/ …
ご回答ありがとうございます。
アプリケーションがあるんですね。
今回、私どもで考えているのは、エクセルファイルにデータを落とし、
時系列で増減を確認したいと思っております。
情報、参考にさせていただきます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
都道府県穴埋めゲーム
都道府県の名前を1人1つずつ投稿してください。全ての都道府県が出たら締め切ります!
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
Dirコマンドでフォルダ内ファイルの合計サイズをだすには?(コマンドプロンプトにて)
UNIX・Linux
-
dirコマンド一文ででフォルダの容量を表示するには
Windows 10
-
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
-
4
バッチファイル フォルダサイズの取得方法
その他(プログラミング・Web制作)
-
5
コマンドプロンプトでフォルダの容量を表示させるには
その他(ソフトウェア)
-
6
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
7
バッチファイルのfor文を使ってファイルサイズをMbyteで表したい。
UNIX・Linux
-
8
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
9
バッチ処理でディスクの使用領域を確認する方法
Windows 7
-
10
テキストファイルから最終行の抽出
Windows Me・NT・2000
-
11
コマンドプロンプトによるフォルダ内のファイル存在有無
UNIX・Linux
-
12
Dosブロンプトでtabを出力したい
その他(プログラミング・Web制作)
-
13
サーバ内のフォルダ名と各フォルダのサイズを取得
Visual Basic(VBA)
-
14
バッチファイルでサーバーのファイルをクライアントへコピーしたい
その他(コンピューター・テクノロジー)
-
15
コマンドプロンプトで変数が数字であることを判定する方法
その他(プログラミング・Web制作)
-
16
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
17
Batch: フォルダ内の特定のファイル以外を全て削除
その他(プログラミング・Web制作)
-
18
DOSコマンドでのワイルドカードの使い方
Windows Vista・XP
-
19
ディスク上のサイズを確認する方法
Windows 7
-
20
コマンドプロンプト標準出力とファイル出力両方
その他(プログラミング・Web制作)
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パソコンに詳しい方教えて下さ...
-
sftp時の公開鍵認証
-
ダンプツールとは?
-
バッチファイルでディレクトリ...
-
Batファイルでhostsを追加したい
-
Windows 7 標準のZip解凍が出来...
-
別のフォルダにファイルを移動...
-
Windows Live Mail に写真を添...
-
cronからtarで圧縮しようとする...
-
Windows上のファイル操作の履歴...
-
ffastun.*って何ですか?
-
ipadで社内ネットワークに接続
-
ufsdumpのオプション(Solaris)
-
指定ファイルをFTPで自動アップ...
-
TCP/IP のパケットの分断と結合...
-
Outlookの「受信日時」「件名」...
-
UDP受信時の通信異常検知について
-
RS232cを用いた送信プログラム
-
ASP.NET C#でPOST受信
-
「TCPは全二重可能」の意味
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パソコンに詳しい方教えて下さ...
-
Windows上のファイル操作の履歴...
-
バッチファイルでディレクトリ...
-
指定ファイルをFTPで自動アップ...
-
Zipファイルをエクセルに指定変...
-
別のフォルダにファイルを移動...
-
sftp時の公開鍵認証
-
ipadで社内ネットワークに接続
-
Lhaplusが発したと、みられるエ...
-
どうしたらいいか教えて下さい。
-
SystemWalker Centric Manager...
-
Win7のPCのサーバー内のファイ...
-
フォルダへのコピー時に重複に...
-
アプリケーションが見つかりません
-
複数のテキストファイルの特定...
-
ダンプツールとは?
-
Windows 7 標準のZip解凍が出来...
-
回復エージェントによるファイ...
-
jarファイルが開けない
-
Apacheでファイルをアップロー...
おすすめ情報