`bin`または` obj`という名前のすべてのフォルダーを再帰的に削除するバッチファイルを作成する方法は?


31

PC上のフォルダー内のすべてのbinobjフォルダーを削除する必要があります。だから、私はそれを行うためのバッチファイルを考えていますが、Windowsでファイルをバッチ処理することに慣れていません。助けてください。

[編集]

ユーザーDMA57361と議論した後、私は現在の解決策に到達しました(まだ問題があります、コメントを参照してください):

.batファイルを作成し、以下のコマンドを貼り付けます。

start for /d /r . %%d in (bin,obj) do @if exist "%%d" rd /s/q "%%d"

または

start for /d /r . %%d in (bin,obj) do @if exist "%%d" rd /s "%%d"

@ DMA57361:スクリプトを実行すると、次のエラーが表示されます。何か案が?

代替テキスト


@Nam-なぜあなたは走っているのですか for \/d \/r ... -なぜダブルスラッシュではなくfor /d /r ...?そして/q、最後に「フル」バージョンを実行すると-私が述べるように- 警告なしですべて削除し、出力を返しません(つまり、エラーが発生したときにのみ動作することを通知しません)上記を実行しても正常に動作しませんでしたか?
DMA57361

@Namこの実行も同じではfor / %d in ありませんfor /d /r . %d in- コマンドの開始イメージとそうでないイメージでは、以下のコマンド全体を使用する必要があります。各ビットは異なる機能を持ち、重要です。
DMA57361

@Nam Opps、おaび申し上げます、あなたは完全に正しいです、最初のいくつかのスイッチを印刷しません!ただし、このエラーはスローされず、正しく動作するようです。バッチファイル内からコマンドを実行するのではなく、コマンドラインからコマンドを実行するだけでしたか?
DMA57361

うーん、なんて奇妙だ。おそらく、あなたのWin7は、私のWinXPと比べてバッチで何か違うことをしているのでしょう。私は...そう、私は現時点でこだわっている怖い、この夜、自宅でWin7の上でチェックできるようになります
DMA57361

実際に、バッチコマンドのプレフィックスを付けて、start何が起こるかを確認してください。理想的ではありませんが、それが役立つのではないかと思います。
DMA57361

回答:


42

これは、以前にされてきた答え私はからこの答えの主な推力を撮影した場所でのスタックオーバーフロー、上オーバー。

次のコマンドを試してください。内部から実行できますcmd

for /d /r . %d in (bin,obj) do @if exist "%d" rd /s/q "%d"

他のフォルダーを変更する必要がある場合(bin,obj)は、コマンドの途中で新しいアイテムをセットに追加するだけです。

これにより、一致するものはすべて警告なしに、ごみ箱を使用せずに削除されます。したがって、少し安全性が必要な場合/qは、呼び出しからrd最後にドロップしてください。

for /d /r . %d in (bin,obj) do @if exist "%d" rd /s "%d"

あなたは内からコマンドを実行する場合、バッチファイルには、変数のすべてのインスタンスを交換する必要があります%d%%dそうのように、:

for /d /r . %%d in (bin,obj) do @if exist "%%d" rd /s/q "%%d"
OR
for /d /r . %%d in (bin,obj) do @if exist "%%d" rd /s "%%d"

質問のコメントに変換があったように

コマンドがバッチファイルでの実行を拒否する場合(ここでは複製できません)、コマンドの先頭にを付けてみてくださいstart。これにより、バッチファイルと同時に実行されるプロセスが開始され、他の問題が発生する可能性がありますが、正しく動作する可能性が高くなります。

また、またはという名前のファイルがあるobj場合binコマンドが機能しているフォルダーツリー内にファイルがある場合、一致する名前を持つ各ファイルについてエラーメッセージが表示されます。これらの一致したファイルは削除されないため、コマンドが必要なものを削除するのを妨げてはなりません。言い換えれば、それらは安全に無視することができます。


1
このコマンドを実行しているこのルートフォルダー内の1つのフォルダーを無視する方法をご存知でしょうか?
ゴランオブラド

完全に機能しました!THX!+1
khr055


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.