- ベストアンサー
指定フォルダ以外のファイルフォルダを削除するバッチファイル
こんにちは。 質問タイトルと同じですが、 Windowsのバッチファイルにおいて 指定フォルダ以外のファイルフォルダ(すべて)を削除するバッチを作成したいのですが、できますでしょうか。ご教授願います。 例 A~Z のフォルダがある。 【要件】 B以外のフォルダをすべて削除する。 よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
指定したファイル名(とバッチ自身)以外の全てのファイル、フォルダを 削除するバッチのサンプルです。 一応動作確認しましたが、使用するフォルダを間違えるとファイルやフォルダ (フォルダは以下のサブフォルダまですべて)消してしまうので注意して お使いください。 --------------------------------------------------- delexcept.bat @echo off if "%1"=="" goto usage set fname=%1 for %%f in (*) do if not "%fname%"=="%%f" if not "%0"=="%%f" del "%%f" for /D %%d in (*) do if not "%fname%"=="%%d" rd /s /q "%%d" exit /b :usage echo usage: echo %0 除外したいファイル名/フォルダ名
お礼
ご回答ありがとうございます。 バッチファイルまで例を上げていただきありがとうございます。 ただ、バッチの基本的な構文もわからなかったため、 書いていただいたバッチを理解するのに時間が掛かりました。^^ いろいろ調べ、除外ファイルを複数対応できるよう、若干変更して何とか対応できました。 大変助かりました。ありがとうございました。