• ベストアンサー

指定フォルダ以外のファイルフォルダを削除するバッチファイル

こんにちは。 質問タイトルと同じですが、 Windowsのバッチファイルにおいて 指定フォルダ以外のファイルフォルダ(すべて)を削除するバッチを作成したいのですが、できますでしょうか。ご教授願います。 例  A~Z のフォルダがある。  【要件】   B以外のフォルダをすべて削除する。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • pita-gora
  • ベストアンサー率70% (102/145)
回答No.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 除外したいファイル名/フォルダ名

ata1976
質問者

お礼

ご回答ありがとうございます。 バッチファイルまで例を上げていただきありがとうございます。 ただ、バッチの基本的な構文もわからなかったため、 書いていただいたバッチを理解するのに時間が掛かりました。^^ いろいろ調べ、除外ファイルを複数対応できるよう、若干変更して何とか対応できました。 大変助かりました。ありがとうございました。

関連するQ&A