Windows/Linuxの便利コマンド集(適宜追記)
思いついたときに追記していきます。
指定したフォルダ配下のファイルとフォルダ(配下すべてのファイルサイズを合算した)サイズを表示する
Windowsの場合
PowerShellを使います。
Get-ChildItem <調べたいフォルダの絶対パス> | Select-Object Name,@{ name = "Size"; expression = { (Get-ChildItem $_.FullName -Recurse -Force | Measure-Object Length -Sum).Sum } }
実行結果の例は、以下のようになります。
Name Size ---- ---- file1.txt 100 file2.dat 300 folder1 1234567815 folder2 4513211
サイズでソートする場合は以下のようにSort-Objectを使います。
最後に-Descendingを付ければ降順、付けなければ昇順になります。
ファイルサイズが大きい順に表示させたければ降順にソートしてください。
Get-ChildItem <調べたいフォルダの絶対パス> | Select-Object Name,@{ name = "Size"; expression = { (Get-ChildItem $_.FullName -Recurse -Force | Measure-Object Length -Sum).Sum } } | Sort-Object -Property Size [-Descending]
-Descendingを指定した場合、先ほどの実行結果の例は、以下のようにソートされます。
Name Size ---- ---- folder1 1234567815 folder2 4513211 file1.txt 100 file2.dat 300
またぱっと見サイズがわかりづらいためメガバイト単位で表示させる際、小数点の切り上げ、四捨五入などをしたい場合は以下のようにします。
以下は切り上げで[Ceiling]を使っていますが、切り捨てなら[Truncate]を、四捨五入なら[Round]を指定します。
Get-ChildItem <調べたいフォルダの絶対パス> | Select-Object Name,@{ name = "Size"; expression = { [math]::Ceiling((Get-ChildItem $_.FullName -Recurse -Force | Measure-Object Length -Sum).Sum/1MB) } } | Sort-Object -Property Size [-Descending]
先ほどの実行結果の例は、以下のように1MB(1024^2)で除算され、切り上げされます。
Name Size ---- ---- folder1 1178 folder2 5 file1.txt 1 file2.dat 1
Base64のエンコード/デコード
エンコード
certutil -f -encode <入力ファイル> <出力ファイル>
デコード
certutil -f -decode <入力ファイル> <出力ファイル>
実行ファイル(*.exe)が32ビットか64ビットかを判定する方法
dumpbin /headers <実行ファイル> | findstr machine
32ビットの場合は「32 bit word machine」
64ビットの場合は「machine (x64)」
と表示されます。