有什么简单的方法可以用 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 程序集等。
在尝试创建新的 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 程序集等。