在执行备份之前清理.net项目文件夹

时间:2010-10-11 17:18:33

标签: .net backup

我想备份我的Projects文件夹。它主要包含.NET项目的子文件夹(VS2005,VS08和VS10)。

在进行备份之前我应该​​删除什么(例如TestResultsbinobj);如果有什么我不应该删除但应该忽略,那可能是什么;而且,最重要的是,如何最好地自动化整个过程(我正在考虑批处理文件或更好)?

我需要注意哪些问题?

2 个答案:

答案 0 :(得分:3)

我建议使用源代码控制并备份源代码控制存储库。如果这仅适用于个人项目,我建议SubversionMercurial。它们易于使用,与Windows资源管理器集成,可以设置为忽略某些目录,并提供其他well published benefits以外的备份。

如果备份了源代码存储库,则无需自行备份项目。

对于您可能会考虑忽略的其他内容,您可以安全地忽略.user和.suo文件,这些只是用户设置,例如您在项目中打开的文件。根据您的开发环境,您还可以忽略.sln文件(解决方案文件)。解决方案文件很容易重建,如果您在团队环境中工作,可能更容易获得单独的解决方案。

答案 1 :(得分:2)

(编辑:看起来像其他人,包括Jeff Atwood,已经创建了执行此操作的工具。)

好的,想通过递归搜索子文件夹并使用批处理文件和cmd删除那些匹配模式的文件夹很困难。幸运的是,PowerShell(默认安装在Windows 7上,IIRC)可以做到(kudos):

get-childitem C:\Projects\* -include TestResults -recurse | remove-item -recurse -force

这是基于Remove-Item帮助条目的示例4。它以递归方式搜索路径,查找名为“TestResults”的任何内容(文件或文件夹)(如果需要,可以在其中放置通配符)并将结果传递给Remove-Item命令,删除它们。要测试它,只需将管道移至Remove-Item

我们如何删除每个语句不只是一个文件夹?在PowerShell的array syntax中输入文件夹列表:

get-childitem C:\Projects\* -include bin,obj,TestResults -recurse | remove-item -recurse -force

您可以从命令提示符或类似内容(reference

运行此命令
powershell.exe -noexit get-childitem C:\Projects\* -include bin,obj,TestResults -recurse | remove-item -recurse

明显的免责声明

如果您将必要的文件保存在名为binobj等的文件夹或文件中,请不要使用此方法。