/ / Видалити папки проекту .net перед виконанням резервної копії - .net, резервне копіювання

Зачиніть .net папки проекту перед виконанням резервної копії - .net, резервне копіювання

Я хочу зробити резервну копію папки своїх проектів. В основному це підпапки для .NET-проектів (VS2005, VS08 і VS10).

Що потрібно видалити перед створенням резервної копії (напр., TestResults, bin, obj); якщо є щось, я не повинен видалятися, але слід ігнорувати, що це може бути, і, найголовніше, як краще автоматизувати весь процес (я думаю, пакетний файл або краще)?

Що мені потрібно знати?

Відповіді:

3 для відповіді № 1

Я рекомендую використовувати контроль джерела та резервне копіювання сховища керування вихідним кодом. Якщо це тільки для особистих проектів, я б рекомендував теж Subversion або Mercurial. Вони прості у використанні, інтегруються з провідником Windows, можуть бути налаштовані, щоб ігнорувати певні каталоги та надавати іншим добре опубліковані переваги Крім резервного копіювання, також.

Якщо резервне копіювання вихідного коду здійснюється резервним копіюванням, вам не потрібно створювати резервні копії проектів.

Що стосується додаткових речей, які ви можете розглянутиігноруючи, можна сміливо ігнорувати файли .user і .suo, це лише налаштування користувача, наприклад, які файли ви відкрили в проекті. Залежно від вашого середовища розробки, ви також можете ігнорувати файли .sln (файли рішень). Файли для рішення легко відновлюються, і якщо ви працюєте в команді, може бути простіше індивідуальні рішення.


2 для відповіді № 2

(EDIT: Виглядає як інші, в тому числі Джефф Етвуд, створили інструменти для цього.)

Гаразд, зрозуміло, що важко рекурсивно шукати вкладені папки та видаляти ті папки, які відповідають шаблону, використовуючи пакетний файл і cmd. На щастя, PowerShell (який за замовчуванням встановлений на Windows 7, IIRC) може це зробити (кедос):

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

Це було засновано на прикладі 4 з Remove-Item введення допомоги. Він шукає шлях, рекурсивно, для будь-якого (файл або папка) з назвою "TestResults" (може помістити там шаблон, якщо буде потрібно) і передаватиме результати Remove-Item команда, яка їх видаляє. Щоб перевірити це, просто зніміть трубу Remove-Item.

Як видалити більше ніж одну папку для кожного виступу? Введіть список папок у PowerShell синтаксис масиву:

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

Ви можете запустити це з командного рядка або подібне так (довідка)

powershell.exe -noexit get-childitem C:Projects* -include bin,obj,TestResults -recurse | remove-item -recurse

Очевидна відмова від відповідальності

Не використовуйте цей метод, якщо ви зберігаєте необхідні файли всередині папок або файлів з назвою bin, objі т. д.