
バッチファイルでディレクトリの使用容量を取得したい
バッチファイル初心者です。
下記の様に、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で質問しましょう!
似たような質問が見つかりました
- Google Drive Googleドライブについて 3 2023/08/06 12:19
- Windows 10 ショートカット先にコピー 1 2022/06/23 09:55
- ドライブ・ストレージ 取込んだ音楽が再生できない 2 2022/06/03 11:18
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
- Windows 10 ファイルエクスプローラーでフォルダを閉じる操作について 2 2022/10/15 11:06
- USBメモリー・SDカード・フラッシュメモリー SDカードの写真データ 何処に行った? 2 2023/07/17 20:29
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- 画像編集・動画編集・音楽編集 mp3の音楽ファイルの「アルバム」名を一括入力する方法 6 2023/05/08 14:58
- その他(Microsoft Office) フォルダーのプロパティで表示されるファイル数とフォルダーに実際に存在するファイル数が一致しない 2 2022/07/27 13:16
- ネットワーク 通信量を見たい 3 2023/03/01 07:47
このQ&Aを見た人はこんなQ&Aも見ています
-
Dirコマンドでフォルダ内ファイルの合計サイズをだすには?(コマンドプロンプトにて)
UNIX・Linux
-
dirコマンド一文ででフォルダの容量を表示するには
Windows 10
-
バッチファイル フォルダサイズの取得方法
その他(プログラミング・Web制作)
-
-
4
コマンドプロンプトでフォルダの容量を表示させるには
その他(ソフトウェア)
-
5
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
6
バッチ処理でディスクの使用領域を確認する方法
Windows 7
-
7
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
8
コマンドプロンプトによるフォルダ内のファイル存在有無
UNIX・Linux
-
9
Dosブロンプトでtabを出力したい
その他(プログラミング・Web制作)
-
10
バッチファイルのfor文を使ってファイルサイズをMbyteで表したい。
UNIX・Linux
-
11
バッチファイルで昨日の日付を取得
その他(プログラミング・Web制作)
-
12
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
13
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
14
moveコマンドで別のドライブにフォルダを移動
その他(OS)
-
15
コマンドプロンプトのエラーについて
その他(パソコン・周辺機器)
-
16
バッチ終了時にDOS窓を閉じるコマンド
その他(プログラミング・Web制作)
-
17
テキストファイルから最終行の抽出
Windows Me・NT・2000
-
18
オペランドが足りませんとコメントが出たのですが、どういう意味?
その他(ソフトウェア)
-
19
バッチファイル XCOPYで上書きしない
その他(プログラミング・Web制作)
-
20
バッチからsqlplusの接続エラーの検知について
その他(プログラミング・Web制作)
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パソコンに詳しい方教えて下さ...
-
iPhoneとWindowsパソコン間での...
-
バッチ処理でファイル整理
-
移動や削除ができないファイル...
-
trac/wikiの記法について
-
ffastun.*って何ですか?
-
Zipファイルをエクセルに指定変...
-
サーバーのファイルを復元
-
xcopyの/dオプションについて
-
postfixの.forwardでメールの転...
-
あやや結合についてお願いします
-
ダウンロードしたファイルを、...
-
1番強力な圧縮形式は何?
-
jarファイルが開けない
-
グローバルIPアドレスを取得し...
-
.chmヘルプファイルをWeb上で見...
-
Office文書ファイルが開かなくなる
-
Apacheでファイルをアップロー...
-
着信録音の 着信発信履歴はある...
-
指定ファイルをFTPで自動アップ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パソコンに詳しい方教えて下さ...
-
バッチファイルでディレクトリ...
-
Windows上のファイル操作の履歴...
-
Lhaplusが発したと、みられるエ...
-
Zipファイルをエクセルに指定変...
-
別のフォルダにファイルを移動...
-
どうしたらいいか教えて下さい。
-
ipadで社内ネットワークに接続
-
指定ファイルをFTPで自動アップ...
-
アプリケーションが見つかりません
-
Batファイルでhostsを追加したい
-
CSVファイルのマッピング処理の...
-
FTPの更新を定期チェックして通...
-
SystemWalker Centric Manager...
-
jarファイルが開けない
-
sendmail .ユーザ名.popとユー...
-
ダンプツールとは?
-
ダウンロードしたファイルを、...
-
TV番組・録画したファイルを...
-
グローバルIPアドレスを取得し...
おすすめ情報