bat/cmd

フォルダの中身を空にする バッチファイル 備忘録

ファイルとフォルダを一括削除する バッチファイル

こんばんは!今回は、フォルダ内のファイルとフォルダを一括で削除するバッチファイルを作成したいと思いました。

なぜ、そのようなバッチファイルを作成したかったかというとWindows10で度々エクスプローラーが固まる事象が出る問い合わせが増えてきたのです。

Windowsのtempフォルダ内を全削除すれば、改善することがあるという記事を見てこのバッチファイルを思いつきました。

フォルダの中身を空にするバッチ

tempフォルダとは?

Windowsのtempフォルダとは、一時ファイルが格納される場所です。C:\windows\tempにあります。アプリケーションを使った作業が終了するとtempフォルダ内から消えるのですが、強制的に終了したり意図せずアプリケーションを落としたりすると一時ファイルが消えず溜まっていきます。

このtempフォルダの容量が増えすぎると、Windowsのエクスプローラーが固まったりする事象が起きるらしいのです。

あるユーザーのtempフォルダを削除して状況が改善されたのでバッチファイルを作成してみることにしました。

ファイルとフォルダを一括削除するバッチ コード

ファイルを削除するにはdelコマンド。フォルダを削除するにはrmdirコマンドを使用します。rmdirコマンドを使用すれば簡単に出来そうな気がしますが、rmdirコマンドはフォルダの中身ではなくフォルダごと削除するコマンドになります。

そこで、フォルダの中身を削除するバッチファイルコードは下記になります。コピペしてそのまま貼付けてバッチファイルとして使用できます。

@echo off
rem ####################
rem    tempフォルダ内の削除    
rem ####################

rem カレントディレクトリの変更
cd “C:\Windows\Temp”

echo ファイルを削除しています。クリーンアップ中
echo.
echo.
rem ファイルの削除
del /Q *

echo フォルダを削除しています。クリーンアップ中
echo.
echo.

rem フォルダの削除
for /F %%a in (‘dir /ad /b /w *’) do rmdir /S /q %%a

timeout /t 5

このコードでフォルダの削除ができます。

フォルダの削除は単純に rmdir * で削除が出来ると思ったのですができなかったのでfor /F %%a in (‘dir /ad /b /w *’) do rmdir /S /q %%aと記述します。

for文の行はオプションが多く覚えづらいので、そのままコピペして使えるので試してみてください。

フォルダごと削除したい場合

フォルダごと削除したい場合は下記の記事に記述していますので参考にしてみてください。

それではー!

ABOUT ME
なお
フルスタックエンジニアを目指すサラリーマン。インフラ、WEBを中心に色んなIT関連情報に手を出したいと思います。

にほんブログ村 IT技術ブログ IT技術メモへ

SEからの脱出日記 - にほんブログ村

%d人のブロガーが「いいね」をつけました。