
No.2ベストアンサー
- 回答日時:
PowerShell には du のようなディレクトリサイズを量るコマンドはなかったと思うので、自分で作るしかないでしょう。
こんなんでどうですか?Get-ChildItem -Recurse -Force | ForEach-Object -Begin { $i = 0 } -Process { $i = $i + $_.Length } -End { $i }
この回答への補足
ありがとうございます。
実行してみたところ、
結果は
454,932,877
実際のcドライブの使用容量は
78,522,511,360
大きくかけ離れました。
折角なので、どうにか使えないものかと試してみたところ、
-Pathで指定した場所の容量は正しく出てそうでした。
Get-ChildItem -Path "c:\Documents and Settings" -Recurse -Force | ForEach-Object -Begin { $Len = 0 } -Process { $Len = $Len + $_.Length } -End { $Len }
結果は
1,271,990,831
実際の"c:\Documents and Settings"の使用容量も
1,271,990,831
謎解きに時間が掛かってしまいましたが、こういう事でしょうか?
No.3
- 回答日時:
あ、-Path の指定忘れてましたね……。
(汗おっしゃる通り、-Path で指定したディレクトリの中にあるファイルの合計サイズが出ます。(指定しないとカレントディレクトリ内)
ちなみにディスクドライブ全体のサイズは Get-PSDrive コマンドで出るみたいですね
ありがとうございます。
あ、そうか!
カレントでしたか。
言われてみると普通のことですが、何の値か分からずにしばらく困っていました。
Get-PSDrive コマンドも試したした。
これはこれで別途使えそうなので、ありがとうございます。
No.1
- 回答日時:
#普段Windows XPしか使ってないのでLinuxのコマンドよくわかりません。
#PowerShell標準のコマンドにはなさそうだったので、ゴリゴリとコードを書くハメに。プログラミングそのものなので、人によってはperlとかphpとか使いたくなるんじゃね、とか思った。面倒なので各種オプションは実装してないし、ファイルにしてコマンドライン引数受け取ったりしてないけど、プログラミングが出来ればそんなに難しくはないでしょう。
#自力実装したけどぶっちゃけ誰かが既に作ってそうな気がします。
====================コード=================
$dict = New-Object -typeName "System.Collections.Generic.Dictionary``2[System.IO.FileSystemInfo,System.Int64]"
$rd = New-Object -typeName "System.IO.DirectoryInfo" -argumentList "D:\himajin100000\x86\Environment\Application"
foreach($d in $rd.GetDirectories("*",[System.IO.SearchOption]::TopDirectoryOnly)){
$x = 0
foreach($f in $d.GetFiles("*",[System.IO.SearchOption]::AllDirectories)){
$x = $x + $f.Length
}
$dict.Add($d,$x)
}
foreach($f in $rd.GetFiles("*",[System.IO.SearchOption]::TopDirectoryOnly)){
$dict.Add($f,$f.Length)
}
foreach($kv in $dict.GetEnumerator()){
[System.String]::Format("{0:s} {1:d}",$kv.Key,$kv.Value)
}
=================結果==================
Archiver 83836
b2x 875008
Development 26622315
Documents 265807804
Images 84152605
Mail 87406143
Management 19092745
TextEditor 1793048
aaa.txt 105
==============その他================
以下を参考にしましたが、Lengthプロパティを合計する、という実装になっており
以下のコードを実際に使ってみたところ、Lengthが全て空になっている状況、つまりフォルダしか存在しないディレクトリの内容を表示させようとしたとき、例外が発生し(フォルダとファイルが混在するものはOKでした)、何故かこれをうまく捕捉出来なかったので自力実装しました。
https://www.microsoft.com/technet/scriptcenter/r …
尚、"D:\"を直接指定したら"D:\System Volume Information"フォルダへのアクセス権を持たないために刎ねられてしまいました(汗
その他、PowerShellって.NET 4.0のメソッドとか使えないみたいね。System.IO.DirectoryInfo.GetFilesとかは最後まで値を求めないと制御が戻らないため、コードによってはSystem.IO.DirectoryInfo.EnumerateFiles何かは結構使いそうなものですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux Linuxのtarコマンドで同一ディレクトリに解凍するコマンドは何でしょうか? 1 2022/04/25 12:59
- Excel(エクセル) Powershell エクセル検索 完全一致の方法 1 2022/06/05 20:19
- UNIX・Linux ブレース展開の使い方での質問です 2 2023/07/15 16:06
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
- オープンソース php-Laravelのインストールについて 1 2022/08/13 01:08
- UNIX・Linux Linuxについて質問です。 以下のような設定をしたMakefileを作成するにはどう記述すればよい 1 2023/02/03 20:10
- その他(パソコン・スマホ・電化製品) LINUXPCに詳しい人に気楽に答えてほしい質問です。 2 2022/10/25 08:07
- UNIX・Linux Linuxについてです last -nというコマンドを使いたいのですが、 illegal optio 4 2022/10/30 16:40
- その他(プログラミング・Web制作) powershell で書いたプログラムでcd が動かない 5 2023/04/08 14:47
- Windows 10 IT初心者です! powershellで以下のようなエラーが出ました オブジェクト参照がオブジェクト 1 2023/05/17 11:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイル 文字列にスペ...
-
findstrでヒットした1行前の文...
-
コマンドプロンプトをクリック...
-
フォルダ、ファイル操作に最適...
-
バッチ終了時にDOS窓を閉じるコ...
-
FTPコマンドを非表示にする
-
ftpコマンドを実行すると「425 ...
-
SSH接続でwindowsサーバのコマ...
-
make test って何をするための...
-
DOSコマンドに詳しい方、お知恵...
-
CPRMでコピーしたDVDを再コピー...
-
バッチファイルでのMACアドレス...
-
コマンドプロンプトとCygwinの違い
-
Windowsのバッチ(bat)ファイル...
-
コマンドプロンプトでファイル...
-
Pythonで単純にファイルを結合...
-
DOSコマンドで指定日数よりも過...
-
FTP送信エラーの検知について
-
バッチファイル
-
ファイル一覧を取得できる関数
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ終了時にDOS窓を閉じるコ...
-
バッチファイル 文字列にスペ...
-
make test って何をするための...
-
シェルの「:コマンドが見つか...
-
コマンドプロンプトをクリック...
-
ftpコマンドを実行すると「425 ...
-
findstrでヒットした1行前の文...
-
ショートカットをデスクトップ...
-
バッチファイルを使ってテキス...
-
Pythonで単純にファイルを結合...
-
フォルダ、ファイル操作に最適...
-
ftpコマンド出力結果の取得
-
シェルスクリプト内のcdで、カ...
-
AccessVBAで実行時間を指定する...
-
powershellでlinuxのduコマンド...
-
SSH接続でwindowsサーバのコマ...
-
FTPの連続実行でフリーズする
-
コマンドプロンプトとCygwinの違い
-
Windowsのバッチ(bat)ファイル...
-
xCopyコマンドでネットワークご...
おすすめ情報