web-dev-qa-db-ja.com

特定のフォルダを削除するバッチスクリプト

他のフォルダーを含む親フォルダーでスクリプトを実行できるようにしたいのですが、スクリプトは特定の名前のすべてのフォルダーを削除します。

したがって、たとえば、すべてのbinフォルダとそれらだけを削除するには:\parent\a\bin\parent\a\subfolder\bin\parent\b\bin

ここで同様のスクリプトを見つけましたが、機能していないようです。

for /d /r %%i in (bin) do @rmdir /s %%i

おそらく、最初にbinフォルダーを空にしてから削除する必要がありますが、どうすればよいでしょうか。

4
shinzou

スクリプトは特定の名前のすべてのフォルダを削除します

rdオプション/sが自動的に行うため、ディレクトリを空にする必要はありません。

次のバッチファイルを使用します。

@echo off
setlocal enabledelayedexpansion
rem find directories called bin
for /f "usebackq tokens=*" %%i in (`dir /b /s /a:d bin`) do (
  rem delete the directories and any files or subdirectories
  rd /s /q "%%i"
  )
endlocal

参考文献

4
DavidPostill