优雅地在机房搭建开发环境

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了优雅地在机房搭建开发环境相关的知识,希望对你有一定的参考价值。

学校机房一般都装有硬盘还原,每次都要搞一遍环境这窝肯定不滋磁啊。

机房装的是破ie7啊,什么oj都上不了啊!

.in,.ans,.out文件没有文件关联,打开好麻烦啊!

pdf都看不了啊!

notepad没行号!

微机课老师还拿e-learning控制电脑啊。不让人好好地敲代码了啊。每次都要拿手杀工具结束进程好麻烦。

滚去干活的正确方式:USB3.0+CMD

本文将利用模块化设计方法编写批处理文件,在2s内完成以下工作:

• 修改分辨率

• 杀死教师控制进程

• 设置Palemoon Portable为默认浏览器

• 为.ans,.in,.out文件设置文件关联

• 清理桌面图标,换成自己常用软件

• 打开QQ轻聊版,Dev C++安装程序

准备工作

1 .U盘(最好支持USB3.0)

2. 需要安装/拷贝的软件/运行库

3. 需要放在桌面上的快捷方式(指向U盘或软件默认安装目录)

4. 便携版软件

5. 必要的命令行软件:ntsd,setres

U盘目录

├ CMD//存放调用的批处理文件

├ Library//运行库,注册表

├ Link//需要放在桌面上的图标

├ Bin//便携版软件和命令行工具

└ Installer//软件安装程序

└ Main//需要自动复制的安装程序

程序架构

GetStarted.cmd//负责调用模块化方法

├ Setres.cmd//修改分辨率

├ Killer.cmd//杀死教师控制进

├ Cleaner.cmd//清理桌面图标

├ Library.cmd//修改注册表、拷贝运行库

├ Copy.cmd//拷贝常用软件安装包

└ Installer.cmd//打开已经拷贝到硬盘上的软件安装包

程序实现

Getstarted.cmd 主程序

start "" CMD\Setres.cmd

start "" killer.cmd

start "" CMD\Cleaner.cmd

start "" CMD\Library.cmd

start "" CMD\BinSet.cmd

call CMD\Copy.cmd

call CMD\Installer.cmd

Setres.cmd 修改分辨率

start "" "..\Bin\SetRes.exe" h1366 v768

exit

Killer.cmd 结束控制进程

copy Bin\ntsd.exe %Windir%\System32\

ntsd -c q -pn StudentMain.exe

exit

Cleaner.cmd 清理桌面图标

DEL /F /A /Q "C:\Documents and Settings\Administrator\桌面\*"

DEL /F /A /Q "C:\Documents and Settings\All Users\桌面\*"

exit

Library.cmd 修改打开方式、默认浏览器、安装Zlib

start "ZLIB" "..\Library\install-zlib.cmd"

for /R ..\Library\Reg %%a IN (*.*) DO reg import %%a

exit

Copy.cmd 复制安装程序

xcopy "..\Link" "C:\Documents and Settings\Administrator\桌面\"

xcopy "..\Installer\Main" "C:\Documents and Settings\Administrator\桌面\Installer\"

xcopy "..\Bin\Shadowsocks" "D:\Shadowsocks\"

Installer.cmd 运行安装程序

start "" "C:\Documents and Settings\Administrator\桌面\Installer\Dev-Cpp 5.11 TDM-GCC 4.9.2 Setup.exe"

start "" "C:\Documents and Settings\Administrator\桌面\Installer\QQ7.9Light.exe"

程序注释

Getstarted.cmd:

start命令可以在独立窗口运行程序,不必等待程序运行完就会运行下一条命令。调用批处理时,其调用的批处理要在末尾加上exit来使命令行窗口自动消失。Start命令的第一个参数表示新窗口标题,第二个参数表示程序路径。

这里把setres.cmd放在最前面调用是因为它需要的时间最长。

Cleaner.cmd需要在Copy.cmd之前调用,否则它会连Copy.cmd复制的快捷方式一起删掉。

Call命令可以在当前进程内调用其它批处理程序。为了Installer.cmd能够正常运行安装程序,必须用call指令依次调用Copy.cmd,Installer.cmd。

Library.cmd:

reg import命令可以用来导入注册表文件,

for /R ..\Library\Reg %%a IN (*.*) DO reg import %%a 的含义是导入..\Library\Reg下的所有注册表文件。这里我的注册表文件用来删除桌面网上邻居等图标,添加文件关联,修改默认浏览器。

注册表的修改请百度。也可以参考windows文件关联、打开方式列表之修改注册表攻略

Killer.cmd:

Ntsd是一个debug级别的进程结束器,用来杀教师控制进程绰绰有余。

Setres.cmd

Setres.exe可以修改分辨率。

以上是关于优雅地在机房搭建开发环境的主要内容,如果未能解决你的问题,请参考以下文章

Python学习一在OSX系统下搭建Python语言集成开发环境

如何配置一套优雅的Lua开发环境

机房冷风吹-linux基础环境搭建

Laravel 虚拟开发环境 Homestead

Laravel 虚拟开发环境 Homestead

基于linux环境下的C++机房预约系统开发