【復活求む!】惜しくも解散してしまったバンド|J-ROCK編 >>

バッチファイルを作成し、ファイルサーバーの複数のフォルダの容量を調査したいと考えています。
ファイルサーバーはWindows 7のPCとLinux系のNASです。
調査したいフォルダ直下にはファイルもあり、中身のあるフォルダもあります。

このサイトなどで以下のコマンドを使用してみましたが、私のやり方が悪いのか、結局のところフォルダ配下のフォルダ毎の容量と、コマンドで指定したフォルダ直下にあるファイルの合計を手作業で計算しなければなりません。

dir /s \\ファイルサーバー名\フォルダ名
dir /s /a-d \\ファイルサーバー名¥フォルダ名

質問です。
dirコマンド一文で調査したいフォルダの容量を表示できますか。
もしくは、フォルダ配下のフォルダ合計を表示することはできますか。
テキストファイルへの書き出しはできています。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

皆さん考えることは同じと見えて、プログラム開発するくらいの人は、自分で作って、「自分好みのものを」と思うらしいです。



当方も同じです。
しかし、WEB検索してみると、キーとして、「フォルダの容量を表示するフリーソフト」とでもすると、たくさんあります。

苦労するよりこれにしました。

フォルダの容量やファイル数を高速に調査し、わかりやすく表示してれるソフト
http://www.vector.co.jp/magazine/softnews/120223 …

無料フォルダー容量グラフ表示ソフト配布サイト
http://freesoft-100.com/pasokon/folder_graph.html

その他にも、エクスプローラに組み込むようなものもあります。

エクスプローラにフォルダサイズを表示させる「Folder Size for Windows」
記事は古いですが、これが元祖らしいです
http://gigazine.net/news/20060717_folder_size_fo …

エクスプローラーにフォルダーのサイズを表示(第255回)
http://pc.nikkeibp.co.jp/article/special/2013022 …
今回紹介する「Folder Size for Windows」。
エクスプローラーの表示にフォルダーサイズを追加してくれるソフト。

http://pc.nikkeibp.co.jp/article/special/2013022 …
ここから先は、PC Online会員の方だけがご覧いただけます。

ともかくいろいろなものがあるので、これを利用しない手はないと思います。
    • good
    • 0

> dirコマンド一文で・・・



できません。
---
フォルダのサイズは各ファイルのサイズの合計値です。
該当フォルダのサブフォルダも考慮して、構成ファイルのサイズ合計を計算して、
積み上げて行く必要があります。
---
任意のフォルダを指定してサイズ合計を求める場合は、
サブフォルダが何階層あるのかが解りませんので、
すべてのファイルのフルPATHでSortして、フォルダ名がブレイクする時点で集計する、
といった処理が必要ですので、
プログラムを組むか、PowerShell を使うことになるでしょう。
とちらにしても「一文で」というわけにはいきません。
    • good
    • 3

容量の合計を出したいディレクトリをカレントにする必要があったと思います。



違っていたらごめんなさい。
    • good
    • 8

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QDirコマンドでフォルダ内ファイルの合計サイズをだすには?(コマンドプロンプトにて)

いろいろ調べましたが不明な点があり、質問します。

WindowsのDOSプロンプトでdirコマンドを打つとフォルダ・ファイルの一覧が表示されますが、その中にファイルサイズが表示されています。
このサイズを合計できるコマンドはありませんか?
DIRコマンドのオプションを調べましたがそれらしいものが見当たりません。
具体的には
C:\xxx\配下に50個程度のファイルがあります。
その50個の合計サイズを知りたいです。
xxxフォルダの親フォルダにはアクセス不可です。

ずーっと悩んでいます。よろしくお願いします。

なお、OSはWindowsNTか2000で使用予定です。

Aベストアンサー

カレントドライブ、カレントフォルダを
C:\xxx\
にした状態で、

dir /s /a-d

/sパラメータででサブディレクトリすべてを検索
/a-dパラメータでディレクトリ以外のファイル(つまり属性に関係なくすべてのファイル

これを実行すると最後にファイルの個数とファイルサイズの合計を表示します。

もし、隠し属性のファイルは合計しないのであれば、

dir /s

だけで良いと思われます。

Qコマンドプロンプトでフォルダの容量を表示させるには

コマンドプロンプトを使って指定したフォルダ直下のファイルやフォルダの各容量を表示させたいです。
dir "フォルダ名" /s a-dを実行すると以下の様に表示できることから
-------------------------------------------
"xxxのディレクトリ"
xxx
xxx
xxx
xxx
n個のファイル xxxバイト
--------------------------------------------

パイプを使って以下の様なイメージでfindでor条件を使い、フォルダ名とバイト数を表示させたいのですが、findにはor条件がないという噂を聞き、落胆しています。

(コマンドのイメージ)---------------------------------
dir "フォルダ名" /s a-d | find "のディレクトリ"or"バイト"

---------------------------------------------------
(結果のイメージ)-----------------------------------
"xxxのディレクトリ"
n個のファイル xxxバイト

"xxxのディレクトリ"
n個のファイル xxxバイト

"xxxのディレクトリ"
n個のファイル xxxバイト

ファイルの総数:
     xxx個のファイル   xxxxバイト
xxx個のディレクトリ   xxxxxバイトの空き容量
---------------------------------------------------

上の様なイメージで出力できるようなコマンド、どなたか教えて下さい。
宜しくお願いします。

コマンドプロンプトを使って指定したフォルダ直下のファイルやフォルダの各容量を表示させたいです。
dir "フォルダ名" /s a-dを実行すると以下の様に表示できることから
-------------------------------------------
"xxxのディレクトリ"
xxx
xxx
xxx
xxx
n個のファイル xxxバイト
--------------------------------------------

パイプを使って以下の様なイメージでfindでor条件を使い、フォルダ名とバイト数を表示させたいのですが、findにはor条件がないという噂を聞き、落胆しています。

(コマ...続きを読む

Aベストアンサー

こんにちは。

findの代わりにfindstrをつかわれたらどうでしょうか。

dir /s /a-d | findstr /L "ディレクトリ ファイル"

Qバッチファイルでディレクトリの使用容量を取得したい

バッチファイルでディレクトリの使用容量を取得したい

バッチファイル初心者です。

下記の様に、Sドライブの配下に、Afolder~Efolderまで、複数フォルダーがあります。

S:\Afolder
S:\Bfolder
S:\Cfolder
S:\Dfolder
S:\Efolder

A~Eまで、それぞれフォルダーの使用容量を日々チェックをしたいのですが、
フォルダーのプロパティから確認すると、複数フォルダーがあるので、結構面倒です。
バッチファイルで、複数フォルダーの使用容量を一括で取得出来たら便利だと思いますが、
バッチフォルダーはほとんど分かりません。

どなたか、分かる方教えてください。
よろしくお願いします。

Aベストアンサー

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

:--------------------------------------------------

Qバッチ処理でディスクの使用領域を確認する方法

質問:
タイトルの通り、コマンドプロンプトなどバッチ処理でディスクの使用領域を調べる方法を知りたいです。

ネットで調べると、dirコマンドなどで空きディスク領域を調べる方法はよく出ていますが、
HDD(パーティション)の全体の容量がわからないので、これだとどれだけディスク領域が
使われているか分かりません。

一応、私が考えた唯一の方法としては、「chkdsk /I /C」コマンドでスキャンディスクを実行して、
完了時に表示されるログを見る方法です。
他にもっとスマートなやり方があれば是非ともご教示いただきたく存じます。


経緯:
依頼された新規PCのセットアップやパーツ選びに必要な情報を探るため、
既存のPCで情報収集のバッチを実行してもらい、その出力をテキストファイルに
出力してこちらへ送ってもらう予定です。

他の必要情報はすでにテキストに出力できるようバッチファイルに組み込み済みですが、
このディスクの使用領域だけ出し方がわかりません。
欲しい情報は[コンピューター]内のドライブを右クリックで[プロパティ]すれば見られるものですが、
先方はコンピューターの操作が非常に不得手なのでこのようなバッチファイルクリックだけで
情報が出せるようにしました。

この情報を元に必要なディスクやストレージ、バックアップ環境を選ぶ予定です。
先方の話の内容からして、既存の環境はすでにすべてWin7化されているようです。

質問:
タイトルの通り、コマンドプロンプトなどバッチ処理でディスクの使用領域を調べる方法を知りたいです。

ネットで調べると、dirコマンドなどで空きディスク領域を調べる方法はよく出ていますが、
HDD(パーティション)の全体の容量がわからないので、これだとどれだけディスク領域が
使われているか分かりません。

一応、私が考えた唯一の方法としては、「chkdsk /I /C」コマンドでスキャンディスクを実行して、
完了時に表示されるログを見る方法です。
他にもっとスマートなやり方があれば是非ともご教...続きを読む

Aベストアンサー

最適のコマンドが用意されていますよ。
たとえば ドライブ c の場合
fsutil volume diskfree c:
バイト総数、空きバイト総数が取得できますので引き算すれば使用領域も解ります。
結果はドライブのプロパティでの表示と一致します。
添付画像参照。(添付画像の数値は処理タイミングのズレのため一致していません)

Qサーバ内のフォルダ名と各フォルダのサイズを取得

VBS初心者ですが、上司に依頼されて、次の目的のVBSを
作成することとなりましたので、皆様の知恵をお貸し下さい。

1、業務サーバー内に50前後のフォルダが存在する。
2、そのサーバ内のフォルダ名とサイズ(MB表示)を取得する。
3、最終的には、取得したフォルダ名とサイズをcsvで出力する。

現在は、月一でサーバー内の各フォルダのプロパティからサイズを取得して、
エクセルで管理をしているのですが、毎月のようにフォルダが10個単位で増減しているため、
作業に取られる時間が馬鹿にならないので、VBSにて一覧取得をできないか
と相談されました。
私のスキルでは、各フォルダ毎のファイル名とサイズを取得することは
出来るのですが、出来れば、一度の操作で全部の作業を終わらせたいので、
皆様のお力をお貸し下さい。

Aベストアンサー

追伸。
http://www.vector.co.jp/soft/cmt/win95/util/se030005.html
↑社内でフリーウェアの使用が認められていれば、このようなソフトは?
上記リンクは適当なフォルダに解凍して実行ファイルを開けば即座に実行されますし
(インストール不要なのでFDに入れておいて他PCでの作業も簡単)
ネットワーク対応、CSV出力対応なので楽チンです (^^ゞ

Qディスク上のサイズとサイズはどうして違うんですか?

ファイルのプロパティ「全般」タブに表示されている「サイズ」と「ディスク上のサイズ」は、どっちが本当のサイズなのでしょうか?
どうしてサイズが違うのですか?
メールでファイルを送るときは、どっちのサイズを見ればいいのでしょうか?
これについて詳しく解説しているページがあったら、それもぜひ教えて下さい。
よろしくお願いします。

Aベストアンサー

「サイズ」はファイルの本当の大きさ、
「ディスク上のサイズ」はファイルが記録されているクラスタを合計した大きさです、
OSはファイルを幾つかのクラスタ(OSが管理するハードディスク上のブロック
の最小単位)を使ってHDDなどのメディアに保存します、

基本的に今のWindowsでは4KBのクラスタサイズで管理しているので例え1バイトのファイルでも「ディスク上のサイズ」4KBのサイズになってしまいます、
つまり常に「ディスク上のサイズ」の方が大きくなっているはずです、

メールに添付する場合は「サイズ」を確認するだけでOKです。

Q共有ドライブの使用容量・空き容量をエクスプローラで知る方法

家庭内LANでWindows2000SP4 とWindowsXP Pro SP2 の2台のPCを使っています。
それぞれのDドライブを丸ごと共有させており,お互いにDドライブにアクセスできるようにしています。

2k側からXPのDドライブをエクスプローラで見ると,ローカルドライブと同じようにエクスプローラの左側に合計サイズや使用容量などが円グラフで表示されています。

しかしXP側から2kのDドライブを見ても,左の「詳細」にはDとだけしか表示されていません。円グラフはともかく,XPのエクスプローラで,ローカルドライブと同じように「詳細」に容量を表示させることはできませんか?

ドライブ共有は,2kはドライブ→右クリック→「共有」で特にオプションは変更していません。XPは「簡易ファイルの共有」をオンにした状態で「共有」を行っています。

XPで容量表示についてご存知の方よろしくお願いします。

Aベストアンサー

ネットワークドライブに割り当てることで、可能になります。
ネットワークドライブとは、共有先のDBを自分のマシンの1ドライブとしてみたてて使用するドライブのことです。

1.エクスプローラのメニューバーの「ツール」-「ネットワークドライブの割り当て」を選択する。

2.ドライブ(D)は、ドライブ名を割り当てる(デフォルトでOK)
3.フォルダ(O)は、参照ボタンを押下し、2KのDを選択する。
4.完了ボタンを押す。

これでネットワークドライブの割り当てができました。

エクスプローラを開いて、マイコンピュータを開くと、
通常のドライブのほかに割り当てたドライブが表示されるので、
これを選択すると、ご要望どおり、詳細で容量が見られるようになります。

QDOSプロンプトでのファイルサイズの取得

こんにちは
MS DOSプロンプトでファイルサイズの取得の仕方がわかりません。
個人的には、バッチファイルを作って、ある特定のファイルのサイズを
バイト単位で表示させたいと思っているのですが、
どうしてもうまくいきません。
どなたか教えていただけないでしょうか。
アドバイスお願いします。

Aベストアンサー

目的がよくわからないのですが、指定ファイルのサイズを表示するだけなら・・・

@ECHO OFF
SET FNAME=D:\Sample.txt
CALL :SUB %FNAME%
GOTO :EOF
:SUB
ECHO %~z1バイト
EXIT /B

※このBATは、変数FNAMEに設定したファイルのサイズを表示します。

QDOSコマンドで共有ファイルへアクセスを行う際のパスの書き方

初めまして。

本題になります・・・

DOSコマンドで共有ファイルのアクセスを行う際のパスの書き方は、
「\\サーバー名\共有フォルダ名\ファイル名」ですが、DIRなどを行うと、認証が走って、ファイルへのアクセスが出来ません・・・全てDOSコマンド(バッチ)で完結したいのですが・・・
例えば、「dir \\サーバー名\共有フォルダ名\ファイル名」とした場合に、「ログオン失敗: ユーザー名を認識できないか、またはパスワードが間違っています。」と表示されてしまいます。
現在行いたい処理は、他サーバーの「共有ファイルのコピー&削除」、「共有フォルダの作成」です。

【環境】
コマンド実行させるサーバー:[WIN2KSEVER(admini権限/パスワード共通)]
他サーバー:[WIN2KSERVER(admini権限/パスワード共通)]

解決する方法がありましたら、お教え下さい。
お願いします。

Aベストアンサー

実際に試してみました。

net use \\サーバー名 パスワード /user:ユーザー名
dir \\サーバー名\共有フォルダ名\ファイル名

でいけました。

Qpingでポートの指定

pingでIPアドレスを指定して、通信できるかどうかというのは
よく使いますが、pingでポートを指定して応答するかどうかは調べられるのでしょうか?

よろしくお願いします

Aベストアンサー

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含むICMP)ではできません。

FTPの疎通確認であれば、クライアントからサーバに対するTCP/21通信(FTP-CMD)が可能であること(サーバからクライアントへのTCP/21からの応答を含む)+サーバからクライアントに対するTCP/20通信(FTP-DATA)が可能であること(クライアントからサーバへのTCP/21からの応答を含む)が必要でしょう。

監視ソフトによるものであれば、
・クライアントからサーバへのログイン(TCP/21)
・クライアントからサーバへのlsの結果(TCP/20)
で確認すればよいでしょう。

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含む...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング