新しい Visual Studio プロジェクトを作成してさまざまなテクノロジを試したり、週末のプロジェクトを試したりするとき、.pdb や obj/bin ファイルなどを気にせずに簡単にソースを圧縮できる方法が必要です。
何年も前に、一連の .bat ファイルを思いつきました。そのうちの 1 つは 、次のようなzipall.batです。
del all.zip
pkzip -add -excl=Backup\* -path -rec all
実行する前に、次のような別のバッチ ファイル clean.batを実行します。
del/f/s/q *.aps 2>nul
del/f/s/q *.bsc 2>nul
del/f/s/q *.exp 2>nul
del/f/s/q *.idb 2>nul
del/f/s/q *.ilk 2>nul
del/f/s/q *.lib 2>nul
del/f/s/q *.ncb 2>nul
del/f/s/q *.obj 2>nul
del/f/s/q *.opt 2>nul
del/f/s/q *.pch 2>nul
del/f/s/q *.pdb 2>nul
del/f/s/q *.plg 2>nul
del/f/s/q *.sbr 2>nul
del/f/s/q *.suo 2>nul
del/f/s/q *.sdf 2>nul
del/f/s/q /ah *.suo 2>nul
del/f/s/q BuildLog.htm 2>nul
for /f "delims=;" %%i in ('dir "TempPE" /s/b /ad') do rmdir /s/q "%%i"
for /f "delims=;" %%i in ('dir "obj" /s/b /ad') do rmdir /s/q "%%i"
for /f "delims=;" %%i in ('dir "_ReSharper*" /s/b /ad') do rmdir /s/q "%%i"
for /f "delims=;" %%i in ('dir "TestResults*" /s/b /ad') do rmdir /s/q "%%i"
定期的に、新しいツールが導入した拡張機能でリストを更新する必要があります。
ちなみに、pkzip に「excl=Backup*」オプションを付けたのは、zip ファイルのバックアップを維持するためです。 backup.batは次のようになります。
mkdir Backup 2>nul
if not exist all.zip goto :eof
set datex=%date:/=-%
set timex=%time::=-%
set filename="Backup\%datex% %timex%.zip"
copy all.zip %filename%
Visual Studio 2013 には Git が組み込まれているので、もうバックアップを気にする必要はありません。
Visual Studio 2013 で新しいプロジェクトを作成するときに、「新しい Git リポジトリを作成する」を指定すると、隠し .gitignore ファイルが作成されます。これは私のclean.batよりもはるかに網羅的です。そのリストをpkzipで使用して、圧縮時に.gitignoreのファイルを無視する方法はありますか?