Powershell

【Powershell】空のフォルダを検出する<サンプルあり>

Powershell

ファイルサーバの整理をしていると、よくフォルダ内のファイルが何もない状態なのにフォルダだけが存在している場合があります。

そのような空のフォルダは無駄ですので、抽出するスクリプトについて作成してみました。

今回は空のフォルダを検出して、削除のコマンドを表示するようにしています。少し変更すれば自動削除することも可能です。
もしよければ使ってみてください。

Powershellスクリプト(サンプル)

1点だけ注意です。
私の方でも使ってみたのですが、フォルダ名に鍵カッコ[]が含まれているとうまく動作しなかったのでスキップするようにしています。

$TARGET_FOLDER = "\\fileserver\project01\"

$folders = Get-ChildItem $TARGET_FOLDER -Directory -Recurse | Sort-Object -Descending

foreach ($folder in $folders){

    # フォルダ名に鍵カッコ[]が含まれているとうまく動作しないためスキップ
    if($folder.FullName -match "\[|\]"){
        continue
    }
    if((Get-ChildItem $folder.fullname).count -eq 0){
        Write-Host ("Remove-Item "+$folder.fullname)
    }
}

今回は以上となります。

コメント

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