批处理 进行svn代码拉取,vs编译,dotfuscator混淆
Dotfuscator的使用:https://www.cnblogs.com/aitong/p/10684004.html
从拉取代码,编译到最后的混淆步骤很多。这时就可以使用批处理来进行自动化。
用到的软件:TortoiseSVN, VS2013 , Dotfuscator Professional Edition,WinRAR
前置条件:提前使用dotfuscator进行一次混淆,并合理存放工程文件,设置混淆前后目录。
在编译之前批处理程序会先删除原先的编译结果,这样在编译出错时会发现文件缺失。
::拉取svn
"D:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:"D:\MySVN\Compile" /closeonend: ::删除文件
set filepath1="D:\MySVN\Compile\MyApp1\OutPut\Release\MyApp1Back.exe"
set filepath2="D:\MySVN\Compile\MyApp1\OutPut\Release\MyApp1Front.exe"
set filepath3="D:\MySVN\Compile\MyApp1\OutPut\Release\MyApp1Basic.dll"
del /q %filepath1%
del /q %filepath2%
del /q %filepath3% ::编译
set vspath="D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe"
set slnpath="D:\MySVN\Compile\MyApp1\MyApp1.sln"
%vspath% /rebuild Release %slnpath% ::复制文件
set outpath1="C:\Users\11320\Desktop\MyApp1混淆\before\MyApp1Back.exe"
set outpath2="C:\Users\11320\Desktop\MyApp1混淆\before\MyApp1Front.exe"
set outpath3="C:\Users\11320\Desktop\MyApp1混淆\before\MyApp1Basic.dll"
copy %filepath1% %outpath1%
@IF %errorlevel%== echo "编译出错,文件不存在。"&goto End
copy %filepath2% %outpath2%
@IF %errorlevel%== echo "编译出错,文件不存在。"&goto End
copy %filepath3% %outpath3%
@IF %errorlevel%== echo "编译出错,文件不存在。"&goto End ::混淆
set dotfuscatorpath="C:\Program Files (x86)\PreEmptive Solutions\Dotfuscator Professional Edition 4.9\dotfuscator"
set xmlpath="C:\Users\11320\Desktop\MyApp1Basic混淆\temp\MyApp1Basic混淆.xml"
%dotfuscatorpath% /v %xmlpath% ::压缩
set pathwinrar="C:\Program Files\WinRAR\WinRAR.exe"
set pathzipfile="C:\Users\11320\Desktop\MyApp1混淆\after\MyApp1.zip"
set afterpath1="C:\Users\11320\Desktop\MyApp1混淆\after\MyApp1Front.exe"
set afterpath2="C:\Users\11320\Desktop\MyApp1混淆\after\MyApp1Basic.dll"
set afterpath3="C:\Users\11320\Desktop\MyApp1混淆\after\MyApp1Back.exe"
%pathwinrar% a -ep1 -o+ -ibck %pathzipfile% %afterpath1%
%pathwinrar% a -ep1 -o+ -ibck %pathzipfile% %afterpath2%
%pathwinrar% a -ep1 -o+ -ibck %pathzipfile% %afterpath3% :End
pause
批处理 进行svn代码拉取,vs编译,dotfuscator混淆的更多相关文章
- 在idea中编写自动拉取、编译、启动springboot项目的shell脚本
idea 开发环境搭建 idea中安装shell开发插件 服务器具备的条件 已经安装 lsof(用于检查端口占用) 已安装 git 安装 maven 有 java 环境 背景 代码提交到仓库后,需要在 ...
- idea配置git,查看git代码&拉取git项目至本地
1.点击file,右键选择setting 选择本地git安装路径 Ps:从git上导入一个全新的maven项目 点击clone按钮后,会弹出如下截图弹窗,点击 NO 项目已经拉取到本地,然后点击ope ...
- SourceTree&Git -01 -代码拉取推送流程 -提交时的相关注意事项
1.进行文件的暂存,忽略不提交的文件 防止自己的文件从仓库拉取时被覆盖掉 2.获取,然后从仓库拉取内容 (勾选被合并提交的内容) 先获取,可以防止冲突的发生 3.推送自己暂存的文件 推送失败,请再次进 ...
- SVN在拉取(更新)代码的时候出现Error:svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted问题 ---window版
简易方法1 今天朋友看到朋友报错这个错误,偷偷学习了下他的方法并做记录以防忘记 简易方法2 今天使用svn时报了一个这个错,网上搜索时都说是要使用sqllite来删除svn队列. 其实可以直接使用id ...
- Git使用手册/Git教程:git fetch 将远程仓库的分支及分支最新版本代码拉取到本地
相关文章: 关于验证是否存在ssh配置以及生成SSH Key的方法可以参照文章:Git使用手册:生成SSH Key 关于SSH Key的使用和公钥在gitHub.gitLab的配置等,请参考文章:Gi ...
- 指定某个git的版本代码拉取新的分支
在本地找到一个目录,执行 git clone http://gitlab.xxxxx.com/xxxxx/xxxxx.git cd xxxxx/ git log //找到对应版本的SHA值 例如2b1 ...
- Jenkins教程(三)添加凭据与流水线拉取Git代码
前言 本文旨在配置凭据.使用Git仓库中的Jenkinsfile与使用声明式流水线拉取Git代码 使用SVN等其他版本控制工具,请参考使用Pipeline-Syntax生成对应代码块 凭据(crede ...
- 正确导入svn拉取的工程
为什么要写这篇博文?主要是记录摸着石头过黄河的过程.之前在eclipse装了svn插件,拉取远程工程,在eclipse显示的工程,并不会分开显示模块工程,反而 是以总工程的姿态呈现.或许你觉得不管分模 ...
- 【Git】4、创建代码仓库,HTTP、SSH拉取远端代码
拉取远端代码:使用Git命令下载远程仓库到本地 文章目录 拉取远端代码:使用Git命令下载远程仓库到本地 1.创建远程代码仓库 2.创建仓库 3.进入仓库 4.HTTP(S)获取远程仓库 首次拉取 更 ...
随机推荐
- 用kettle实现数据库迁移之oracle到mysql
项目完成后,需要把历史oracle 的数据库转移mysql 用kettle 转换数据. 步骤: 1.打开spoon.bat,文件-->新建-->转换,点击“主对象树”,DB连接右键“新建” ...
- 34 输入3个数a,b,c,按大小顺序输出
题目:输入3个数a,b,c,按大小顺序输出 public class _034Sorting { public static void main(String[] args) { sorting(); ...
- kcp源码走读
kcp协议与tcp协议类似,是一种ARQ协议.他的优点在于比tcp的延迟更小30%-40%,但相应的会牺牲一部分的带宽,大该比tcp多浪费10%~20%.tcp的设计目标是增大网络利用率,而kcp的设 ...
- Swift实现Touch ID验证
iOS8开放了很多API,包括HomeKit.HealthKit什么的.我们这里要说的是其中之一的Touch ID验证. 以前用app保护用户的隐私内容,只能设定和输入密码.眼看着只能是iPhone本 ...
- .NET基础 (03)生成、部署和管理
生成.部署和管理1 如何生成强签名的程序集2 如何把程序集放入GAC中3 延迟签名及其作用4 程序集的版本分哪几部分 1 如何生成强签名的程序集在生成程序集时,CLR提供了两种可选类型:强签名程序集. ...
- linux 学习管道 和重定向
开源文化的理念之一 就是不要重新发明轮子 在linux 系统中大多是都是非常简单的命令,每个命令都是实现一个或者几个简单的功能,我们可以将不同的命令组合在一起 来达到复杂的功能的目的,在linux中因 ...
- 20145233《网络对抗》Exp6 信息收集和漏洞扫描
20145233<网络对抗>Exp6 信息收集和漏洞扫描 实验问题思考 哪些组织负责DNS,IP的管理 全球根服务器均由美国政府授权的ICANN统一管理,负责DNS和IP地址管理.全球一共 ...
- requirejs 配制
baseUrl: 用来配制动态加载脚本时,脚本文件的起始位置,此属性可以指定值,也可以由 requirejs 自动计算出值: 1:不进行任何配制: 假如 a.html 中引用 require.js 文 ...
- Strings in the Pocket(马拉车+字符串判断)
题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=6012 BaoBao has just found two strings ...
- “全栈2019”Java第十六章:下划线在数字中的意义
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...