In the past two days, I have used a virtual machine to install the system, and I am going to use a virtual machine to separate the development environment and the database. The ideas are as follows:
1. The development environment is the Host
2. The Guest is the database server, and each server is an independent The virtual machine
database includes Oracle 9i, SQL Server 2005, and MySQL
However, when installing the system, you also need to set environment variables to reduce system disk usage and increase performance. This requires migrating some directories on the system disk. For example, IE temporary directory, temporary folder, Applocation Data; in addition, we also need to move important folders to other partitions to avoid important data (MyDocument, Favorites, Programs) when an accident occurs on the system disk or when we want to restore it. configuration, etc.) are not affected.
Manually modifying environment variables and registry values is too troublesome, because I have to modify them every time I install the system. This time I have had enough, and I feel bad. Okay, I'll write a script and get it done for you!
BAT cannot set system environment variables. In addition, VBScript and JScript are available. The advantage of VBScript is that it has a dialog box, but JScript does not (alert, etc. can only be used in web pages), and JScript's code is clearer. , and it is powerful and can use functions such as regular expressions.
So, I wrote the following script, please see the code:
//********************************************************************
// Copymiddle 2006 Zealic,All middle keeped.
//********************************************************************
//** 环境变量名
//** 设置环境变量名,这些值影响环境变量的名字,建议不要修改
var VN_PATH = "PATH";
var VN_PROFILE = "PROFILE";
var VN_PROFILE_USER = "PROFILE_USER";
var VN_VOLATILE_PROFILE = "VOLATILE_PROFILE";
var VN_TEMP = "TEMP";
//********************************************************************
//** 设置
var m_Prefix = "GUEST_";
var m_UserName = "Zealic";
var m_Profile = "D:\\Profile";
var m_VoltProfile = "F:\\VolatileProfile";
var m_UserPath = "C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727;"
+ "D:\\Java\\JRE\\Currently\\bin";
//调用函数以设置
SetEnvironment(m_Prefix,m_UserName,m_Profile,m_VoltProfile,m_UserPath);
//********************************************************************
//** 函数定义
// 设置环境变量
// prefix : 环境变量名的前缀
// userName : 用户名
// profile : 重要文件目录
// voltProfile : 非重要文件目录
// userPath : 用户 Path,设置该值以进行快捷运行程序
function SetEnvironment(prefix,userName,profile,voltProfile,userPath)
{
//开始设置
var currentName;
//===========================
// 设置系统重要目录
currentName = prefix + VN_PROFILE;
SetSystemValue(currentName, profile);
// 设置设置用户重要目录
currentName = prefix + VN_PROFILE_USER;
SetSystemValue(currentName, "%" + prefix + VN_PROFILE + "%\\" + userName);
// 设置设置系统非重要目录
currentName = prefix + VN_VOLATILE_PROFILE;
SetSystemValue(currentName, voltProfile);
// 设置设置用户非重要目录
currentName = prefix + "VOLATILE_PROFILE_USER";
SetSystemValue(currentName, "%" + prefix + VN_VOLATILE_PROFILE + "%" + "\\" + userName);
// 设置临时目录
currentName = prefix + "TEMP";
SetSystemValue(currentName, "%" + prefix + VN_VOLATILE_PROFILE + "%" + "\\Temporary");
//设置TEMP变量
var temp = "%" + prefix + VN_TEMP + "%";
SetUserValue("TMP", temp);
SetUserValue("TEMP", temp);
SetSystemValue("TMP", temp);
SetSystemValue("TEMP", temp);
// 设置 Path 和 自定义 Path 连接
var currentName = prefix + VN_PATH;
SetSystemValue(currentName, userPath);
// Path가 이미 존재하는지 확인하고, 설정하지 않은 경우
var regValue = new RegExp("%" prefix VN_PATH "%","i")
if ( !regValue.test(GetSystemValue("Path")))
{
SetSystemValue("Path",GetSystemValue("Path") ";%" 접두사 VN_PATH "%")
}
}
//디버깅 함수
function Debug(msg)
{
wsh = new ActiveXObject("WScript.Shell")
wsh.Popup(msg); >}
// 사용자 환경 변수 가져오기
function GetUserValue(name,value)
{
wsh = new ActiveXObject("WScript.Shell")
return wsh .Environment ("user").Item(name);
}
// 사용자 환경 변수 설정
function SetUserValue(name,value)
{
wsh = new ActiveXObject("WScript .Shell ");
wsh.Environment("user").Item(name) = value;
}
// 사용자 환경 변수 삭제
function RemoveUserValue(name)
{
wsh = new ActiveXObject("WScript.Shell");
wsh.Environment("user").Remove(name) = value;
}
// 시스템 환경 변수 가져오기
function GetSystemValue( 이름,값)
{
wsh = new ActiveXObject("WScript.Shell")
return wsh.Environment("system").Item(name)
}
// 시스템 환경 변수 설정
function SetSystemValue(name,value)
{
wsh = new ActiveXObject("WScript.Shell")
wsh.Environment("system").Item(name ) = value;
}
//시스템 환경 변수 제거
function RemoveSystemValue(name)
{
wsh = new ActiveXObject("WScript.Shell")
wsh.Environment (" system").Remove(name) = value;
}
여기서 Profile은 귀중한 데이터 및 파일이고 VolatileProfile은 사용되지만 쓸모없는 데이터 및 파일입니다. 이런 방식으로 우리는 Profile이 유지되어야 하고 VolatileProfile이 자주 정리될 수 있다는 것을 명확하게 알 수 있습니다.
그 후에도 데스크톱, 내 문서, 즐겨찾기 폴더를 프로필 디렉터리로 마이그레이션한 다음 데이터베이스 설치를 시작해야 합니다.
그런데 오늘은 늦었으니 내일 얘기하자~~~
내일은 JScript를 이용하여 레지스트리를 운영하여 시스템의 일부 디렉터리를 Profile 및 VolatileProfile 디렉터리로 마이그레이션할 예정입니다.
http://www.cnblogs.com/zealic/archive/2006/11/07/552433.html