如何在Visual Studio中删除每个项目的“调试”和“释放”文件夹

时间:2012-07-17 09:29:23

标签: visual-studio-2010

有人可以告诉我,我可以删除解决方案中每个项目的Debug和Release文件夹吗?

我在this post中找到了这段代码,但我不知道我应该把它放在哪里!

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,删除所有调试和发布文件夹,重新打开soloution并重建....只有这时我的应用程序才能编译并正常工作!

3 个答案:

答案 0 :(得分:4)

在你提到的"I want to delete all bin and obj folders to force all projects to rebuild everything"线程中有许多好的替代解决方案,但是如果你想使用这个命令行,它需要调整Release和Debug:

DIR /B /AD /S bin

这表示输出名为bin(或第二次调用中的obj)的当前目录(/ S)中和下的所有目录(/ AD)。您可能希望为Debug和Release执行此操作,而不是bin和obj。

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所说,具有这两个命令并从项目根目录运行的批处理文件(或命令行调用)将删除名为Release或Debug的所有目录及其内容。它不会很聪明,并且知道这些是项目的已配置版本和调试目录。

使用了解项目配置文件并根据它们采取行动的工具会更安全。再次对你链接的另一个帖子中有一些想法。

答案 1 :(得分:1)

只想添加到jla的答案(因为我不知道如何评论,或者我还不能发表评论):

您甚至可以将调试和发布放入一个命令(甚至是.svn文件夹)。例如:

  

FOR / F“令牌= *”%G IN('DIR / B / AD / S释放调试.svn')DO RMDIR   / S / Q“%G”

这里我将double %%替换为单个%,因为它现在是一个命令,你可以从命令行运行它。

希望这有帮助。

答案 2 :(得分: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"
)