ネットワークパスを指定してdirを使いたい。powershellを使えば実現可能。

IT技術
スポンサーリンク

フォルダの容量を調べるときにこんなことしてませんか?

ファイルサーバーの各フォルダ容量を調べたい!

1つづつ選択して右クリックしてプロパティ・・・・。

さすがに効率悪すぎですよね。

フリーソフトでdiskinfoという良いソフトはありますが、会社でフリーソフトが利用できないケースもあります。

そんな時はコマンドプロンプトでdirコマンドを使えばいけそう・・・。

確かに対象のフォルダをネットワークドライブにして、cdした後dirすれば可能です。

↑これがチンプンカンプンな人は是非powershellを使ってみてください。

シンプルにネットワーク上のファイルサーバーにある特定のフォルダに対して、ファイル数・フォルダ数・容量を出力することが可能です。

スポンサーリンク

powershellを実行してGet-ChildItemコマンドを使う

まずpowershellを実行する必要があります。

デスクトップ左下にある「windowsマーク」を右クリックすると「windows powershell(管理者)」という項目を選択しましょう。

すると背景がブルーの画面(パソコンによっては黒)が登場します。

これがpowershellのコマンドを入力する画面となります。

ここに以下のコマンドを1行づつ入力しましょう。

※注意点として「C:\work」の箇所は調べたいフォルダのパスを入れてください。ネットワークパスでも問題ないです。

例)\\192.168.100.1\test\work

【1つ目】
Get-ChildItem “C:\work” -Recurse -Force | Measure-Object -Property Length -sum
「Count」の右側がファイル数
「Sum」の右側がフォルダの容量(byte表記)
【2つ目】
(Get-ChildItem -Recurse “C:\work” | ? { $_.PsIsContainer }).Count
コマンドを入力した直後に出ている数字「1」がフォルダの数です。
C:\workにはフォルダは1つしかないということです。

今回はGet-ChildItemというpowershellのコマンドを使ってフォルダ数とファイル数、そして対象フォルダの全容量を調べてみました。

Get-ChildItemコマンドさえ自由に使えれば、タスクスケジューラを使って定期的にフォルダ容量を特定のフォルダに出力するって運用も可能です。

毎回diskinfoを使って容量を調べるにも時間かかるし、夜中にタスクスケジューラでGet-ChildItemコマンドを走らせておけば作業コスト削減にもなります。

powershellのエラー「一部が見つかりませんでした」はレジストリ操作で解決。
powershellでフォルダの数、ファイル数を計測していた作業中にエラーが発生しました。 「(フォルダ名) 一部が見つかりませんでした」 「一部が見つかりませんでした」ってどうゆうこと??? 最初なんのことやら分かりませんでした...

結構おススメのコマンドなので是非試してください。

IT技術
スポンサーリンク
piro's labo

コメント

タイトルとURLをコピーしました