【最大65%OFF】Kindleゴールデンウィークセール第2弾開催!「片田舎のおっさん剣聖になる」「方舟」「逆行した悪役令嬢」「悪役令嬢の中の人」「イシューからはじめよ」など人気書籍が多数対象。5月8日まで、詳細はこちら▶

PowerShellで不要ファイルを削除するスクリプト例

パソコンを使っていると、一時ファイルや古いログファイルなど、不要なファイルが徐々に蓄積していきます。これらを手動で削除するのは手間がかかるため、PowerShellスクリプトで自動化する方法が便利です。

この記事では、Windows 11環境で使える、不要なファイルを削除するPowerShellスクリプトの書き方と実行方法を紹介します。


目次

不要ファイルを削除する基本スクリプト

指定フォルダ内の一時ファイルを削除する

$target = "C:\Temp"
Get-ChildItem -Path $target -Recurse -Include *.tmp,*.log -ErrorAction SilentlyContinue | Remove-Item -Force

このスクリプトは、C:\Temp フォルダ内の .tmp および .log ファイルをすべて削除します。

一定期間以上経過したファイルのみ削除する

$days = 30
$path = "C:\Logs"
Get-ChildItem -Path $path -Recurse | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-$days) } | Remove-Item -Force

この例では、C:\Logs 配下で30日以上更新されていないファイルを削除します。


スクリプトの応用例

複数のフォルダを対象にする

$folders = @("C:\Temp", "C:\Downloads")
foreach ($folder in $folders) {
    Get-ChildItem -Path $folder -Recurse -Include *.tmp,*.bak -ErrorAction SilentlyContinue | Remove-Item -Force
}

ログファイルとして記録を残す

$logPath = "C:\CleanupLog.txt"
$target = "C:\Temp"
$date = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
"[$date] Cleanup started for $target" | Out-File -Append $logPath

Get-ChildItem -Path $target -Recurse -Include *.tmp,*.log | ForEach-Object {
    "[$date] Deleting: $($_.FullName)" | Out-File -Append $logPath
    Remove-Item $_.FullName -Force
}

スクリプトの実行方法

  1. PowerShellを管理者として起動
  2. .ps1 ファイルにスクリプトを保存
  3. 実行ポリシーを変更(初回のみ)
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
  1. スクリプトを実行
./CleanupScript.ps1

関連リンク


まとめ

PowerShellスクリプトを使うことで、不要ファイルの削除作業を効率化できます。定期的に実行すれば、PCのパフォーマンス維持にもつながります。用途に応じてスクリプトを調整し、より快適なWindows環境を保ちましょう。


Tamaglo

最後までお読みいただきありがとうございます。

執筆者:玉城 学(タマキ マナブ)

IT業界歴10年以上。ヘルプデスク・サーバーエンジニアとしてWindowsの設定、クラウド管理、PC最適化を担当。

現在はPC設定・Office活用の専門家として、ブログやYouTubeで情報を発信中。

詳しいプロフィールはこちら

SNSでも情報を発信しています: YouTubeTikTokInstagram

  • URLをコピーしました!

コメント

コメントする


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

アップロードファイルの最大サイズ: 2 MB。 画像 をアップロードできます。 Youtube、Facebook、Twitter および他サービスへのリンクは自動的にコメント内に埋め込まれます。 ここにファイルをドロップ

目次