2012-07-17 85 views
1

有人可以告诉我我可以在我的解决方案中删除每个项目的调试和发布文件夹吗?如何在Visual Studio中删除每个项目的“调试”和“发布”文件夹

我在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和重建....才把我appllication编译和正常工作!

+3

是“干净的解决方案”还不够? – Carsten 2012-07-17 09:33:37

+0

将它放入批处理文件,然后从项目的根目录运行它。 – stuartd 2012-07-17 09:34:54

+0

您的意思是创建一个.bat文件,并将其放入每个项目文件夹或根soloution文件夹? – 2012-07-17 09:51:34

回答

4

有许多在"I want to delete all bin and obj folders to force all projects to rebuild everything"线程好的替代解决方案,您提到的,但如果你想使用它需要扭捏作发布和调试此命令行:

DIR /B /AD /S bin 

这是说要输出的所有目录(/ AD)当前目录(/ S)中的命名bin(或第二次调用中的obj)。你会想为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" 

正如斯图尔特说,一个批处理文件(或命令行调用)用这两个命令,并从项目的根目录下运行会删除名为Release或Debug及其内容的所有目录。它不会很聪明,并且知道这些是为项目配置的发布和调试目录。

使用知道项目配置文件的工具并基于它们执行操作会更安全。对于您链接的其他线索中的人,还有一些想法。

1

只是要添加到JLA的答案(因为我不知道该如何评论,或者我不能评论还):

你甚至可以把调试和发布一个命令(甚至.svn目录) 。例如:

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

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

希望这会有所帮助。

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" 
) 
相关问题