用 &#106avascript 迁移目录

这两天用虚拟机安装系统,准备用虚拟机把开发环境和数据库分离,想法如下:
      1.开发环境为Host
      2.Guest 为数据库服务器,每一个服务器都是一个独立的虚拟机
       数据库包括,Oracle 9i、SQL Server 2005、MySQL

   但是装系统,还要设置环境变量,以减少系统盘的占用和增加性能,这就需要迁移系统盘的一些目录了,比如IE临时目录,临时文件夹,Applocation Data;此外,我们还需要把重要的文件夹移动到其他分区,以避免在系统盘发生事故或者想要恢复的时候,重要数据(MyDocument,收藏夹,程序配置等)不受影响。
   手动修改环境变量和注册表值太麻烦了,因为我每次装系统都要修改那么一次,这次实在受够了,心里一发狠。好,我写个脚本把你搞定!
   BAT是不能设置系统环境变量的,此外可用的就有 VBScript 和 JScript 了;VBScript 的好处是有对话框,JScript没有(alert等只能在网页中使用),而JScript 的代码条理清晰一些,并且功能强大,可以使用正则表达式等功能。
   于是乎,写了下面的脚本,各位大虾请看代码:

  1//********************************************************************
  2// Copymiddle 2006 Zealic,All middle keeped.
  3//********************************************************************
  4//** 环境变量名
  5//** 设置环境变量名,这些值影响环境变量的名字,建议不要修改
  6
  7var VN_PATH        = "PATH";
  8var VN_PROFILE        = "PROFILE";
  9var VN_PROFILE_USER    = "PROFILE_USER";
 10var VN_VOLATILE_PROFILE    = "VOLATILE_PROFILE";
 11var VN_TEMP        = "TEMP";
 12
 13
 14//********************************************************************
 15//** 设置
 16
 17var m_Prefix        = "GUEST_";
 18var m_UserName        = "Zealic";
 19var m_Profile        = "D:\\Profile";
 20var m_VoltProfile    = "F:\\VolatileProfile";
 21var m_UserPath        = "C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727;"
 22                + "D:\\Java\\JRE\\Currently\\bin";
 23
 24//调用函数以设置
 25SetEnvironment(m_Prefix,m_UserName,m_Profile,m_VoltProfile,m_UserPath);
 26
 27
 28//********************************************************************
 29//** 函数定义
 30
 31// 设置环境变量
 32//     prefix         : 环境变量名的前缀
 33//     userName    : 用户名
 34//     profile        : 重要文件目录
 35//     voltProfile    : 非重要文件目录
 36//     userPath    : 用户 Path,设置该值以进行快捷运行程序
 37function SetEnvironment(prefix,userName,profile,voltProfile,userPath)
 38{
 39    //开始设置
 40    var currentName;
 41    //===========================
 42    // 设置系统重要目录
 43    currentName = prefix + VN_PROFILE;
 44   
 45    SetSystemValue(currentName, profile);
 46
 47    // 设置设置用户重要目录
 48    currentName = prefix + VN_PROFILE_USER;
 49    SetSystemValue(currentName, "%" + prefix + VN_PROFILE + "%\\" + userName);
 50
 51    // 设置设置系统非重要目录
 52    currentName = prefix + VN_VOLATILE_PROFILE;
 53    SetSystemValue(currentName, voltProfile);
 54
 55    // 设置设置用户非重要目录
 56    currentName = prefix + "VOLATILE_PROFILE_USER";
 57    SetSystemValue(currentName, "%" + prefix + VN_VOLATILE_PROFILE + "%" + "\\" + userName);
 58
 59    // 设置临时目录
 60    currentName = prefix + "TEMP";
 61    SetSystemValue(currentName, "%" + prefix + VN_VOLATILE_PROFILE + "%" + "\\Temporary");
 62
 63    //设置TEMP变量
 64    var temp = "%" + prefix + VN_TEMP + "%";
 65    SetUserValue("TMP", temp);
 66    SetUserValue("TEMP", temp);
 67    SetSystemValue("TMP", temp);
 68    SetSystemValue("TEMP", temp);
 69
 70    // 设置 Path 和 自定义 Path 连接
 71    var currentName = prefix + VN_PATH;
 72    SetSystemValue(currentName, userPath);
 73    // 检测是否已经存在Path,如果不存在则设置
 74    var regValue = new RegExp("%" + prefix + VN_PATH + "%","i");
 75    if(!regValue.test(GetSystemValue("Path")))
 76    {
 77        SetSystemValue("Path",GetSystemValue("Path") + ";%" + prefix + VN_PATH + "%");
 78    }
 79}
 80
 81// 调试用函数
 82function Debug(msg)
 83{
 84    wsh = new ActiveXObject("WScript.Shell");
 85    wsh.Popup(msg);
 86}
 87
 88// 获取用户环境变量
 89function GetUserValue(name,value)
 90{
 91    wsh = new ActiveXObject("WScript.Shell");
 92    return wsh.Environment("user").Item(name);
 93}
 94// 设置用户环境变量
 95function SetUserValue(name,value)
 96{
 97    wsh = new ActiveXObject("WScript.Shell");
 98    wsh.Environment("user").Item(name) = value;
 99}
100// 删除用户环境变量
101function RemoveUserValue(name)
102{
103    wsh = new ActiveXObject("WScript.Shell");
104    wsh.Environment("user").Remove(name) = value;
105}
106
107// 获取系统环境变量
108function GetSystemValue(name,value)
109{
110    wsh = new ActiveXObject("WScript.Shell");
111    return wsh.Environment("system").Item(name);
112}
113// 设置系统环境变量
114function SetSystemValue(name,value)
115{
116    wsh = new ActiveXObject("WScript.Shell");
117    wsh.Environment("system").Item(name) = value;
118}
119// 删除系统环境变量
120function RemoveSystemValue(name)
121{
122    wsh = new ActiveXObject("WScript.Shell");
123    wsh.Environment("system").Remove(name) = value;
124}
125
126
127
128

   其中 Profile 为有价值的数据和文件 ,VolatileProfile 用过而无价值的数据和文件。这样,我们就可以清楚的知道,Profile 要保留,VolatileProfile 则可以经常清理。

   之后我还需要把 Desktop,My Document,Favorites文件夹迁移到 Profile 目录中,然后就开始安装数据库。
   不过嘛,今天太晚了,明天再说~~~
   明天用用 JScript 操作注册表以迁移系统的一些目录到 Profile 和 VolatileProfile 目录。
http://www.cnblogs.com/zealic/archive/2006/11/07/552433.html

时间: 2024-09-21 04:06:03

用 &#106avascript 迁移目录的相关文章

用 JavaScript 迁移目录

javascript 这两天用虚拟机安装系统,准备用虚拟机把开发环境和数据库分离,想法如下:      1.开发环境为Host      2.Guest 为数据库服务器,每一个服务器都是一个独立的虚拟机       数据库包括,Oracle 9i.SQL Server 2005.MySQL    但是装系统,还要设置环境变量,以减少系统盘的占用和增加性能,这就需要迁移系统盘的一些目录了,比如IE临时目录,临时文件夹,Applocation Data:此外,我们还需要把重要的文件夹移动到其他分区,

用 JavaScript 迁移目录_javascript技巧

这两天用虚拟机安装系统,准备用虚拟机把开发环境和数据库分离,想法如下:       1.开发环境为Host       2.Guest 为数据库服务器,每一个服务器都是一个独立的虚拟机        数据库包括,Oracle 9i.SQL Server 2005.MySQL    但是装系统,还要设置环境变量,以减少系统盘的占用和增加性能,这就需要迁移系统盘的一些目录了,比如IE临时目录,临时文件夹,Applocation Data:此外,我们还需要把重要的文件夹移动到其他分区,以避免在系统盘发

EntityFramework 6.x多个上下文迁移实现分布式事务

前言 自从项目上了.NET Core平台用上了EntityFramework Core就再没碰过EntityFramework 6.x版本,目前而言EntityFramework 6.x是用的最多,无论是找工作而言还是提升自身技术而言皆自身收益,同时呢,大多数时间除了工作之外,还留有一小部分时间在写EntityFramework 6.x和EntityFramework Core的书籍,所以将EntityFramework 6.x相当于是从零学起,EntityFramework 6.x又添加了许多

关于MySQL数据迁移--data目录直接替换注意事项的详解

近日更换服务器,要做数据库迁移,将数据库内的数据从服务器A迁移到服务器B.由于数据量较大,直接做dump耗时太长,故而采用如下方式处理:首先,在服务器B上安装了与服务器A同版本的MySQL,停止MySQL服务,将安装后的data目录删除: 然后,服务器A锁住全部表,从服务器A将整个data目录和数据文件直到拷贝到服务器B上,修改服务器B上MySQL的my.cnf文件中的datadir指向新的data目录. 最后,启动服务器B上的MySQL服务. 结果启动失败,报出 "无法启动MySQL服务&qu

Windows 2008活动目录迁移步骤

活动目录(Active Directory)是面向Windows Standard Server.Windows Enterprise Server以及 Windows Datacenter Server的目录服务.(Active Directory不能运行http://www.aliyun.com/zixun/aggregation/32995.html">在Windows Web Server上,但是可以通过它对运行Windows Web Server的计算机进行管理.)Active

如何将django部署从顶级目录迁移到子目录下(NGINX UWSGI DJANGO)

因为公司网站合并,要将我们的DJANGO项目从IP的顶级目录迁移到域名的二级目录. 以前硬编码的URL可惨了. 还涉及到upload目录,静态目录,websocket目录. 全用{% url %}问题不太大. nginx分前后两级,uwsgi配置要作相应更改,django的setting需要变量登陆网址. 这样,在正式网站访问二级目录,测试环境仍然可以根目录访问. nginx_front: server { listen 80; server_name localhost; location /

版本控制-怎么将SVN资源库的一个目录迁移至另一个新的资源库中,并包含历史记录信息

问题描述 怎么将SVN资源库的一个目录迁移至另一个新的资源库中,并包含历史记录信息 由于之前所有项目的代码都放在了一个资源库中,导致资源的容量越来越大,代码经常需要刻录光盘备份,很不方便,有没有什么方法可以将资源中的某此项目迁移至另一个资源库中,并包含历史版本信息. 解决方案 svn copy,或者svnadmin dump

mysql5.5数据库data目录迁移方法详解_Mysql

//前一阵子以为学习需要就在自己的本本上装了个mysql数据库.今天想把结合jsp做的项目拿到学校机器上用用,但发现数据库数据怎么迁移,首先找不到数据库的数据目录在什么地方,就上网搜了搜也没找到合适的答案,但无意中发现原来5.5已经很人性化了.现在废话不多. 先说一下,其实数据库的目录就在你安装目录的data里面,我的实在D盘.可能大家默认安装都在C吧.这样就要迁移了.这个大家都懂.(D:\Program Files\MySQL\MySQL Server 5.5\data)要是我要迁移到学校机器

linux下迁移mysql数据库存放目录

方法一: 参照windows下的方法,把/var/lib/mysql移到需要的目录,再修改/etc/my.cnf文件,指定数据目录.这方面的教程网上很多,大家可以去搜索一下. 停掉Mysql服务 在my.ini的[mysqld]里有三个设置,路径改成移动之后的路径  代码如下 复制代码 basedir="D:/MySQL-5.0.15b/" datadir="D:/MySQL-5.0.15b/data" innodb_data_home_dir="D:/M