用 JavaScript 遷移目錄
更新時(shí)間:2006年12月18日 00:00:00 作者:
這兩天用虛擬機(jī)安裝系統(tǒng),準(zhǔn)備用虛擬機(jī)把開(kāi)發(fā)環(huán)境和數(shù)據(jù)庫(kù)分離,想法如下:
1.開(kāi)發(fā)環(huán)境為Host
2.Guest 為數(shù)據(jù)庫(kù)服務(wù)器,每一個(gè)服務(wù)器都是一個(gè)獨(dú)立的虛擬機(jī)
數(shù)據(jù)庫(kù)包括,Oracle 9i、SQL Server 2005、MySQL
但是裝系統(tǒng),還要設(shè)置環(huán)境變量,以減少系統(tǒng)盤(pán)的占用和增加性能,這就需要遷移系統(tǒng)盤(pán)的一些目錄了,比如IE臨時(shí)目錄,臨時(shí)文件夾,Applocation Data;此外,我們還需要把重要的文件夾移動(dòng)到其他分區(qū),以避免在系統(tǒng)盤(pán)發(fā)生事故或者想要恢復(fù)的時(shí)候,重要數(shù)據(jù)(MyDocument,收藏夾,程序配置等)不受影響。
手動(dòng)修改環(huán)境變量和注冊(cè)表值太麻煩了,因?yàn)槲颐看窝b系統(tǒng)都要修改那么一次,這次實(shí)在受夠了,心里一發(fā)狠。好,我寫(xiě)個(gè)腳本把你搞定!
BAT是不能設(shè)置系統(tǒng)環(huán)境變量的,此外可用的就有 VBScript 和 JScript 了;VBScript 的好處是有對(duì)話框,JScript沒(méi)有(alert等只能在網(wǎng)頁(yè)中使用),而JScript 的代碼條理清晰一些,并且功能強(qiáng)大,可以使用正則表達(dá)式等功能。
于是乎,寫(xiě)了下面的腳本,各位大蝦請(qǐng)看代碼:
其中 Profile 為有價(jià)值的數(shù)據(jù)和文件 ,VolatileProfile 用過(guò)而無(wú)價(jià)值的數(shù)據(jù)和文件。這樣,我們就可以清楚的知道,Profile 要保留,VolatileProfile 則可以經(jīng)常清理。
之后我還需要把 Desktop,My Document,Favorites文件夾遷移到 Profile 目錄中,然后就開(kāi)始安裝數(shù)據(jù)庫(kù)。
不過(guò)嘛,今天太晚了,明天再說(shuō)~~~
明天用用 JScript 操作注冊(cè)表以遷移系統(tǒng)的一些目錄到 Profile 和 VolatileProfile 目錄。
http://www.cnblogs.com/zealic/archive/2006/11/07/552433.html
1.開(kāi)發(fā)環(huán)境為Host
2.Guest 為數(shù)據(jù)庫(kù)服務(wù)器,每一個(gè)服務(wù)器都是一個(gè)獨(dú)立的虛擬機(jī)
數(shù)據(jù)庫(kù)包括,Oracle 9i、SQL Server 2005、MySQL
但是裝系統(tǒng),還要設(shè)置環(huán)境變量,以減少系統(tǒng)盤(pán)的占用和增加性能,這就需要遷移系統(tǒng)盤(pán)的一些目錄了,比如IE臨時(shí)目錄,臨時(shí)文件夾,Applocation Data;此外,我們還需要把重要的文件夾移動(dòng)到其他分區(qū),以避免在系統(tǒng)盤(pán)發(fā)生事故或者想要恢復(fù)的時(shí)候,重要數(shù)據(jù)(MyDocument,收藏夾,程序配置等)不受影響。
手動(dòng)修改環(huán)境變量和注冊(cè)表值太麻煩了,因?yàn)槲颐看窝b系統(tǒng)都要修改那么一次,這次實(shí)在受夠了,心里一發(fā)狠。好,我寫(xiě)個(gè)腳本把你搞定!
BAT是不能設(shè)置系統(tǒng)環(huán)境變量的,此外可用的就有 VBScript 和 JScript 了;VBScript 的好處是有對(duì)話框,JScript沒(méi)有(alert等只能在網(wǎng)頁(yè)中使用),而JScript 的代碼條理清晰一些,并且功能強(qiáng)大,可以使用正則表達(dá)式等功能。
于是乎,寫(xiě)了下面的腳本,各位大蝦請(qǐng)看代碼:
復(fù)制代碼 代碼如下:
//********************************************************************
// Copymiddle 2006 Zealic,All middle keeped.
//********************************************************************
//** 環(huán)境變量名
//** 設(shè)置環(huán)境變量名,這些值影響環(huán)境變量的名字,建議不要修改
var VN_PATH = "PATH";
var VN_PROFILE = "PROFILE";
var VN_PROFILE_USER = "PROFILE_USER";
var VN_VOLATILE_PROFILE = "VOLATILE_PROFILE";
var VN_TEMP = "TEMP";
//********************************************************************
//** 設(shè)置
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";
//調(diào)用函數(shù)以設(shè)置
SetEnvironment(m_Prefix,m_UserName,m_Profile,m_VoltProfile,m_UserPath);
//********************************************************************
//** 函數(shù)定義
// 設(shè)置環(huán)境變量
// prefix : 環(huán)境變量名的前綴
// userName : 用戶名
// profile : 重要文件目錄
// voltProfile : 非重要文件目錄
// userPath : 用戶 Path,設(shè)置該值以進(jìn)行快捷運(yùn)行程序
function SetEnvironment(prefix,userName,profile,voltProfile,userPath)
{
//開(kāi)始設(shè)置
var currentName;
//===========================
// 設(shè)置系統(tǒng)重要目錄
currentName = prefix + VN_PROFILE;
SetSystemValue(currentName, profile);
// 設(shè)置設(shè)置用戶重要目錄
currentName = prefix + VN_PROFILE_USER;
SetSystemValue(currentName, "%" + prefix + VN_PROFILE + "%\\" + userName);
// 設(shè)置設(shè)置系統(tǒng)非重要目錄
currentName = prefix + VN_VOLATILE_PROFILE;
SetSystemValue(currentName, voltProfile);
// 設(shè)置設(shè)置用戶非重要目錄
currentName = prefix + "VOLATILE_PROFILE_USER";
SetSystemValue(currentName, "%" + prefix + VN_VOLATILE_PROFILE + "%" + "\\" + userName);
// 設(shè)置臨時(shí)目錄
currentName = prefix + "TEMP";
SetSystemValue(currentName, "%" + prefix + VN_VOLATILE_PROFILE + "%" + "\\Temporary");
//設(shè)置TEMP變量
var temp = "%" + prefix + VN_TEMP + "%";
SetUserValue("TMP", temp);
SetUserValue("TEMP", temp);
SetSystemValue("TMP", temp);
SetSystemValue("TEMP", temp);
// 設(shè)置 Path 和 自定義 Path 連接
var currentName = prefix + VN_PATH;
SetSystemValue(currentName, userPath);
// 檢測(cè)是否已經(jīng)存在Path,如果不存在則設(shè)置
var regValue = new RegExp("%" + prefix + VN_PATH + "%","i");
if(!regValue.test(GetSystemValue("Path")))
{
SetSystemValue("Path",GetSystemValue("Path") + ";%" + prefix + VN_PATH + "%");
}
}
// 調(diào)試用函數(shù)
function Debug(msg)
{
wsh = new ActiveXObject("WScript.Shell");
wsh.Popup(msg);
}
// 獲取用戶環(huán)境變量
function GetUserValue(name,value)
{
wsh = new ActiveXObject("WScript.Shell");
return wsh.Environment("user").Item(name);
}
// 設(shè)置用戶環(huán)境變量
function SetUserValue(name,value)
{
wsh = new ActiveXObject("WScript.Shell");
wsh.Environment("user").Item(name) = value;
}
// 刪除用戶環(huán)境變量
function RemoveUserValue(name)
{
wsh = new ActiveXObject("WScript.Shell");
wsh.Environment("user").Remove(name) = value;
}
// 獲取系統(tǒng)環(huán)境變量
function GetSystemValue(name,value)
{
wsh = new ActiveXObject("WScript.Shell");
return wsh.Environment("system").Item(name);
}
// 設(shè)置系統(tǒng)環(huán)境變量
function SetSystemValue(name,value)
{
wsh = new ActiveXObject("WScript.Shell");
wsh.Environment("system").Item(name) = value;
}
// 刪除系統(tǒng)環(huán)境變量
function RemoveSystemValue(name)
{
wsh = new ActiveXObject("WScript.Shell");
wsh.Environment("system").Remove(name) = value;
}
// Copymiddle 2006 Zealic,All middle keeped.
//********************************************************************
//** 環(huán)境變量名
//** 設(shè)置環(huán)境變量名,這些值影響環(huán)境變量的名字,建議不要修改
var VN_PATH = "PATH";
var VN_PROFILE = "PROFILE";
var VN_PROFILE_USER = "PROFILE_USER";
var VN_VOLATILE_PROFILE = "VOLATILE_PROFILE";
var VN_TEMP = "TEMP";
//********************************************************************
//** 設(shè)置
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";
//調(diào)用函數(shù)以設(shè)置
SetEnvironment(m_Prefix,m_UserName,m_Profile,m_VoltProfile,m_UserPath);
//********************************************************************
//** 函數(shù)定義
// 設(shè)置環(huán)境變量
// prefix : 環(huán)境變量名的前綴
// userName : 用戶名
// profile : 重要文件目錄
// voltProfile : 非重要文件目錄
// userPath : 用戶 Path,設(shè)置該值以進(jìn)行快捷運(yùn)行程序
function SetEnvironment(prefix,userName,profile,voltProfile,userPath)
{
//開(kāi)始設(shè)置
var currentName;
//===========================
// 設(shè)置系統(tǒng)重要目錄
currentName = prefix + VN_PROFILE;
SetSystemValue(currentName, profile);
// 設(shè)置設(shè)置用戶重要目錄
currentName = prefix + VN_PROFILE_USER;
SetSystemValue(currentName, "%" + prefix + VN_PROFILE + "%\\" + userName);
// 設(shè)置設(shè)置系統(tǒng)非重要目錄
currentName = prefix + VN_VOLATILE_PROFILE;
SetSystemValue(currentName, voltProfile);
// 設(shè)置設(shè)置用戶非重要目錄
currentName = prefix + "VOLATILE_PROFILE_USER";
SetSystemValue(currentName, "%" + prefix + VN_VOLATILE_PROFILE + "%" + "\\" + userName);
// 設(shè)置臨時(shí)目錄
currentName = prefix + "TEMP";
SetSystemValue(currentName, "%" + prefix + VN_VOLATILE_PROFILE + "%" + "\\Temporary");
//設(shè)置TEMP變量
var temp = "%" + prefix + VN_TEMP + "%";
SetUserValue("TMP", temp);
SetUserValue("TEMP", temp);
SetSystemValue("TMP", temp);
SetSystemValue("TEMP", temp);
// 設(shè)置 Path 和 自定義 Path 連接
var currentName = prefix + VN_PATH;
SetSystemValue(currentName, userPath);
// 檢測(cè)是否已經(jīng)存在Path,如果不存在則設(shè)置
var regValue = new RegExp("%" + prefix + VN_PATH + "%","i");
if(!regValue.test(GetSystemValue("Path")))
{
SetSystemValue("Path",GetSystemValue("Path") + ";%" + prefix + VN_PATH + "%");
}
}
// 調(diào)試用函數(shù)
function Debug(msg)
{
wsh = new ActiveXObject("WScript.Shell");
wsh.Popup(msg);
}
// 獲取用戶環(huán)境變量
function GetUserValue(name,value)
{
wsh = new ActiveXObject("WScript.Shell");
return wsh.Environment("user").Item(name);
}
// 設(shè)置用戶環(huán)境變量
function SetUserValue(name,value)
{
wsh = new ActiveXObject("WScript.Shell");
wsh.Environment("user").Item(name) = value;
}
// 刪除用戶環(huán)境變量
function RemoveUserValue(name)
{
wsh = new ActiveXObject("WScript.Shell");
wsh.Environment("user").Remove(name) = value;
}
// 獲取系統(tǒng)環(huán)境變量
function GetSystemValue(name,value)
{
wsh = new ActiveXObject("WScript.Shell");
return wsh.Environment("system").Item(name);
}
// 設(shè)置系統(tǒng)環(huán)境變量
function SetSystemValue(name,value)
{
wsh = new ActiveXObject("WScript.Shell");
wsh.Environment("system").Item(name) = value;
}
// 刪除系統(tǒng)環(huán)境變量
function RemoveSystemValue(name)
{
wsh = new ActiveXObject("WScript.Shell");
wsh.Environment("system").Remove(name) = value;
}
其中 Profile 為有價(jià)值的數(shù)據(jù)和文件 ,VolatileProfile 用過(guò)而無(wú)價(jià)值的數(shù)據(jù)和文件。這樣,我們就可以清楚的知道,Profile 要保留,VolatileProfile 則可以經(jīng)常清理。
之后我還需要把 Desktop,My Document,Favorites文件夾遷移到 Profile 目錄中,然后就開(kāi)始安裝數(shù)據(jù)庫(kù)。
不過(guò)嘛,今天太晚了,明天再說(shuō)~~~
明天用用 JScript 操作注冊(cè)表以遷移系統(tǒng)的一些目錄到 Profile 和 VolatileProfile 目錄。
http://www.cnblogs.com/zealic/archive/2006/11/07/552433.html
相關(guān)文章
JavaScript將數(shù)組轉(zhuǎn)換為鏈表的方法
這篇文章主要介紹了JavaScript將數(shù)組轉(zhuǎn)換為鏈表的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02
微信小程序?qū)崿F(xiàn)下載進(jìn)度條的方法
本篇文章主要介紹了微信小程序?qū)崿F(xiàn)下載進(jìn)度條的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
詳解JavaScript設(shè)計(jì)模式中的享元模式
享元模式是一種用于性能優(yōu)化的模式。享元模式的核心是運(yùn)用共享技術(shù)來(lái)有效支持大量細(xì)粒度的對(duì)象.如果系統(tǒng)中創(chuàng)建了大量類(lèi)似的對(duì)象而導(dǎo)致內(nèi)存占用過(guò)高,本文通過(guò)介紹書(shū)中文件上傳的優(yōu)化案例來(lái)說(shuō)明享元模式的使用方式和作用,需要的朋友可以參考下2023-06-06
Javascript 異步加載詳解(瀏覽器在javascript的加載方式)
本文總結(jié)一下瀏覽器在 javascript 的加載方式,需要的朋友可以參考下2012-05-05
javascript實(shí)現(xiàn)網(wǎng)頁(yè)背景煙花效果的方法
這篇文章主要介紹了javascript實(shí)現(xiàn)網(wǎng)頁(yè)背景煙花效果的方法,涉及javascript數(shù)學(xué)運(yùn)算及頁(yè)面元素動(dòng)態(tài)操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08

