有什么简单的方法可以用 Visual Studio 2013 .zip 压缩我的源代码吗?

Is there any easy way to .zip up my source code with Visual Studio 2013?

在尝试创建新的 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 中创建新项目时,如果您指定 "Create new Git repository",它将创建一个隐藏的 .gitignore 文件,该文件比我的 [=40 更详尽=]。有没有办法将该列表与 pkzip 一起使用,以便在压缩时忽略 .gitignore 中的文件?

.gitignore 文件是在您创建 Visual Studio 项目并选择 "Create new Git repository" 时创建的。

您不需要使用 pkzip,因为 Git 具有内置的归档功能。

只需输入: git archive -o all.zip HEAD

它会创建 all.zip 最新的源代码,没有任何你不想要的东西在 .zip 文件中,如 bin、obj、exe、nuget 程序集等。