2017-01-21 6 views
1

一度に複数のディレクトリを削除できるバッチスクリプトを作りたいと思います。私はウェブを検索しましたが、複数のサブディレクトリやファイルを削除する方法しか見つからないようです。これまでのところ、私はこのような構造を使用して一つの特定のフォルダを削除するためのスクリプトを作ることができます。複数のディレクトリを1つのバッチファイルで削除する

rmdir "C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Cookies" /S /Q 

私はその後、別の組み合わせや順序で他のフォルダを宣言するために多数の方法を試してみましたが、どれも動作するようには思えません。最初に、/ S/Qを続けて1行にして、新しいパスの先頭と末尾にrmdirと/ S/Qを置き、Enterを押して各行を新しい行に置いてみました。間違ったコマンドを使っていますか?どんな助けもありがとうございます。

答えて

4
for %%a in ("dirname 1" "dirname2" "as many as you want") do rd /s /q "%%~a" 

あなたが望むようにする必要があります - %% aは各[オプションで引用符付き]引数に順番に設定されます。 は、ディレクトリ名にスペースのような区切り文字が含まれている場合は引用符を使用してください。

+0

ありがとう、このメソッドは非常にうまく機能しました。 –

1

あなただけのとおり、ディレクトリのリストを反復処理するforループを使用することができます。

:あなたの特定のケースで

pax> for %d in (c:\dir1 c:\other\dir2) do echo %d 
c:\dir1 
c:\other\dir2 

、それは(CMDファイル内)に似ものになるだろう

for %%d in (c:\dir1 c:\other\dir2) do rmdir "%%~d" /s /q 
+0

あなたのご意見ありがとうございました。これも同様に機能しました。私は将来の使用のための代替としてこのメ​​ソッドをアーカイブします。私は両方の回答を受け入れたいと思いますが、1つしか受け入れることはできません... –

関連する問題