/ / Oczyść foldery projektu .net przed wykonaniem kopii zapasowej - .net, backup

Oczyść foldery projektu .net przed wykonaniem kopii zapasowej - .net, backup

Chcę wykonać kopię zapasową folderu Moje projekty. Zawiera głównie podfoldery dla projektów .NET (VS2005, VS08 i VS10).

Co należy usunąć przed wykonaniem kopii zapasowej (np. TestResults, bin, obj); jeśli jest coś, czego nie powinienem usunąć, ale powinienem zignorować, co to może być, i, co najważniejsze, jak najlepiej zautomatyzować cały proces (myślę, że plik wsadowy lub lepszy)?

Jakie potrzeby muszę mieć świadomość?

Odpowiedzi:

3 dla odpowiedzi № 1

Polecam używanie kontroli źródła i tworzenie kopii zapasowej repozytorium kontroli źródła. Jeśli jest to tylko dla osobistych projektów, poleciłbym albo Obalenie lub Bystry. Są łatwe w użyciu, integrują się z Eksploratorem Windows, można je skonfigurować tak, aby ignorowały określone katalogi i udostępniały inne dobrze opublikowane korzyści poza kopią zapasową.

Jeśli kopia zapasowa repozytorium kodu źródłowego jest utworzona, nie musisz tworzyć kopii zapasowych samych projektów.

Jeśli chodzi o dodatkowe rzeczy, które możesz wziąć pod uwagęignorując, możesz bezpiecznie zignorować pliki .user i .suo, są to tylko ustawienia użytkownika, takie jak pliki otwarte w projekcie. W zależności od środowiska programistycznego można także zignorować pliki .sln (pliki rozwiązania). Pliki rozwiązań można łatwo przebudować, a jeśli pracujesz w środowisku zespołowym, łatwiej będzie mieć indywidualne rozwiązania.


2 dla odpowiedzi nr 2

(EDYCJA: Wygląda jak inne, w tym Jeff Atwood, stworzyłem narzędzia do tego.)

Ok, zorientowałem się, że trudno jest rekursywnie przeszukiwać podfoldery i usuwać foldery pasujące do wzorca przy użyciu pliku wsadowego i cmd. Na szczęście PowerShell (który jest zainstalowany domyślnie w Windows 7, IIRC) może to zrobić (sława):

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

To było oparte na przykładzie 4 Remove-Item pomoc w wejściu. Przeszukuje ścieżkę, rekurencyjnie, dla dowolnego pliku (pliku lub folderu) o nazwie "TestResults" (może umieścić w niej symbol wieloznaczny, jeśli jest potrzebny) i przesyła wyniki do Remove-Item polecenie, które usuwa je. Aby to przetestować, po prostu wyjmij rurę do Remove-Item.

Jak usunąć więcej niż jeden folder na instrukcję? Wprowadź listę folderów w PowerShell składnia tablicowa:

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

Możesz uruchomić to z wiersza poleceń lub podobnie jak w przykładzie (odniesienie)

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

Oczywiste zrzeczenie się

Nie używaj tej metody, jeśli zachowujesz niezbędne pliki w nazwanych folderach lub plikach bin, objitp.