2

ソリューション内のすべてのプロジェクトのDebugフォルダーとReleaseフォルダーの両方を削除できますか?

この投稿でこのコードを見つけましたが、これをどこに置くべきかわかりません!

FOR /F "tokens=*" %%G IN ('DIR /B /AD /S bin') DO RMDIR /S /Q "%%G"
FOR /F "tokens=*" %%G IN ('DIR /B /AD /S obj') DO RMDIR /S /Q "%%G"

その理由は、Visual Studioを手動で閉じ、すべてのデバッグフォルダーとリリースフォルダーを削除し、solutionを再度開いて再構築する必要があるためです。そうしないと、アプリケーションがコンパイルされて正しく機能します。

4

3 に答える 3

4

参照した「すべてのbinフォルダーとobjフォルダーを削除して、すべてのプロジェクトにすべてを再構築させたい」というスレッドには、いくつかの優れた代替ソリューションがありますが、このコマンドラインを使用する場合は、リリースとデバッグを微調整する必要があります。

DIR /B /AD /S bin

これは、bin(または2番目の呼び出しではobj)という名前の現在のディレクトリ(/ S)内およびその下にあるすべてのディレクトリ(/ AD)を出力することを意味します。binとobjの代わりに、DebugとReleaseに対してこれを実行することをお勧めします。

FOR /F "tokens=*" %%G IN ('DIR /B /AD /S Release') DO RMDIR /S /Q "%%G"
FOR /F "tokens=*" %%G IN ('DIR /B /AD /S Debug') DO RMDIR /S /Q "%%G"

Stuartが言うように、これら2つのコマンドを含むバッチファイル(またはコマンドライン呼び出し)をプロジェクトルートから実行すると、ReleaseまたはDebugという名前のすべてのディレクトリとその内容が削除されます。賢くはなく、これらがプロジェクト用に構成されたリリースおよびデバッグディレクトリであることを知っています。

プロジェクト構成ファイルを認識しているツールを使用し、それらに基づいて行動する方が安全です。ここでも、リンクした他のスレッドのアイデアについていくつかのアイデアがあります。

于 2012-08-23T22:42:18.443 に答える
2

jlaの答えに追加したいだけです(コメントする方法がわからない、またはまだコメントできないため):

デバッグとリリースを1つのコマンド(さらには.svnフォルダー)に入れることもできます。例えば:

FOR / F "tokens = *"%G IN('DIR / B / AD / S Release Debug .svn')DO RMDIR / S / Q "%G"

ここでは、double %%をsingle%に置き換えました。これは、単一のコマンドになり、コマンドラインから実行できるためです。

お役に立てれば。

于 2013-01-18T20:39:49.630 に答える
0

私がこれに使用するバッチファイルは、フォルダを適切にバックアップするために、パッケージとすべての不要な雑然としたものもクリーンアップします。バッチファイル内でこのコードを使用し、ソリューションのルートディレクトリ(私の場合はすべてのソリューションが存在するルートディレクトリ)からバッチファイルを実行します

for /d /r . %%d in (bin,obj,csx,rcf,_ReSharper.*) do @if exist "%%d" rd /s/q "%%d"
for /d /r . %%d in (packages) do @if exist "%%d" (
    cd %%d
    for /d /r . %%e in (*) do @if exist "%%e" rd /s/q "%%e"
)
于 2014-05-01T07:14:23.480 に答える