如何自动更新-CMD
来源:互联网 发布:语法高亮 js 编辑:程序博客网 时间:2024/05/16 23:44
现在客户端自动更新 一般要用到更新程序,这样就是两个项目,两个exe了 所以对我这来说比较反感
所以就选择了另外一种方法 cmd
由于是自动更新客户端 且是内置的
所以要关闭自身
但是cmd在process执行的时候 属于这个程序 如果关闭主线程这个线程也同样被终止了
所以我只能用外置bat来执行cmd了。
string b = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
这是获取本地文件路径 比如有快捷方式的。。你总不能让人家换个名字吧
这是要写入的cmd命令string.Format("taskkill /im \"BigcraftVersionUpdate.exe\"\r\nping 127.0.0.1 -n 2 >nul\r\ndel \"{0}\"\r\nrename \"{1}\" \"{2}\"\r\nstart {3}\r\ndel %0", b, "Bigcraft-1128046.exe", b.Substring(b.LastIndexOf("\\") + 1), b.Substring(b.LastIndexOf("\\") + 1))
string.Format("taskkill /im \"BigcraftVersionUpdate.exe\" //这是我的程序名字 是固定的
\r\n //cmd里面仅仅\n是不吃的 必须要\r\n才能换行
ping 127.0.0.1 -n 2 >nul \\由于结束程序有延时 所以我让他缓一会再进行后续操作
\r\n
del \"{0}\" //删除本地文件
\r\n
rename \"{1}\" \"{2}\" 重命名下载的文件为本地文件 {1}传入下载的文件路径 我这里就设置的死路径
\r\n
start {3} //开启应用程序
\r\n
del %0", //这里是删除bat文件 不然看着麻烦
b //要taskkill的本地文件
, "Bigcraft-1128046.exe" //新客户端名称
, b.Substring(b.LastIndexOf("\\") + 1) //重命名新客户端为客户端的名称
, b.Substring(b.LastIndexOf("\\") + 1) //运行新客户端
)
public static void RunCmd(string cmd) { string htmlfilename = DateTime.Now.ToString("yyyyMMdd_HHmmss") + "_tmp.bat"; //保存文件的路径 new FileOperate().Write_Txt(htmlfilename, cmd, Encoding.Default); Process.Start(htmlfilename); }
<span style="white-space:pre"></span>public void Write_Txt(string FileName, string Content, Encoding code) { string htmlfilename = FileName; //保存文件的路径 string str = Content; StreamWriter sw = null; { try { sw = new StreamWriter(htmlfilename, false, code); sw.Write(str); sw.Flush(); } catch { } } sw.Close(); sw.Dispose(); }
- 如何自动更新-CMD
- tomcat如何自动更新
- 如何制作自动更新程序?
- 如何制作自动更新程序?
- 如何制作自动更新程序?
- 如何关闭MyEclipse自动更新
- Win10如何关闭自动更新
- 如何制作自动更新程序?
- 如何自动更新版本
- 如何集成百度自动更新
- iOS自动更新如何实现
- 如何关闭MyEclipse自动更新
- 如何关闭MyEclipse的自动更新?
- 如何关闭 Chrome 的自动更新
- 【Android】应用如何做到自动更新
- 如何关闭MyEclipse的自动更新
- 如何关闭WIN8系统自动更新
- 如何禁止系统自动更新后重启
- 我的博客之旅
- DKOM隐藏驱动
- 测试一下
- git repo回退代码
- id3lib-3.8.3在linux下的编译
- 如何自动更新-CMD
- iOS获取网络类型和运营商信息
- linux系统下解析shell标准输出流生成json包demon
- 使用git服务器实现生产环境应用服务器代码更新管理的方案
- 回旋函数写法与str_pad函数
- 第一个用java-swing写的 图形界面程序-扫雷
- 山东省第六届蓝桥杯 ///标题:牌型种数//c/c++组
- java中Double类型的运算精度问题
- 智能后视镜采用OBD卡位车联网入口