在尝试创建新的 Visual Studio 项目以尝试各种技术或周末项目时,我想要一种简单的方法来压缩我的源代码,而不用担心 .pdb、obj/bin 文件等。
这么多年前,我想出了一组 .bat 文件,其中一个是: 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 中的文件?