mklink命令转移win7系统盘文件夹users和programdata(附xp的方法)

 
 
              使用mklink命令转移文件夹清理臃肿的c盘

       (一) 我的转移过程
       不喜欢windows的做法,把所有的用户和程序数据文件都放在系统盘(xp下是Documents and Settings文件夹,windows7/vista下是users和programdata文件夹),还有就是有些软件只能安装在系统盘而根本不给你选择的余地如Chrome。需要有一种办法可把上述文件夹弄到非系统分区去,在Linux系统下这不是问题(ln),但直到windows7才有了好点的解决方案,这就是windows7自带的mklink.exe程序。
       把默认放在c盘的users文件夹转移到其他分区,这样就不用担心使用一段时间后c盘越来越大的问题。
       1、还没安装windows7时       
       在安装Win7的过程中,要求输入用户名及密码的时候,先不如输入任何信息,按“Shift+F10”呼出DOS窗口,输入以下命令:
 
 
robocopy "C:\Users" "D:\Users" /E /COPYALL /XJ   
rmdir "C:\Users" /S /Q  
mklink /J "C:\Users" "D:\Users"   
       2、安装完系统之后
       若还需转移文件夹,可以进入计算机管理,点击“Administrator”,选择属性,而后在随后的对话框中去掉“帐户已禁用”之前的勾,而后关闭"计算机管理器”;
   例如要把C:\Program Files\Internet Explorer文件夹转移到其他盘,则把下列命令编辑输入新建的bat文件,命名mklink.bat:
robocopy "C:\Program Files\Internet Explorer" "D:\Program Files\Internet Explorer" /e /copyall /xj
rmdir "c:\Program Files\Internet Explorer" /s /q
mklink /j "C:\Program Files\Internet Explorer" "D:\Program Files\Internet Explorer" 
    

开机时按F8键,出现黑底白字的菜单,默认光标在第一项Repair your computer/修复计算机上,直接按回车。之后会弹出2个提示框,直接点Next或OK即可。就来到了下一界面,单击最后一项:Command Prompt/命令行,找到上述mklink.bat文件并执行。

        我用上述办法把c盘的Program Files里面所有大于15M的文件夹、ProgramData都转移到了其他的分区,暂时没出现任何不良反应。
       (二)参数
         1、robocopy:此命令为Windows的“强健文件拷贝”命令
    例如:
robocopy “C:\Users”“D:\Users” /E /COPYALL /XJ /XD “C:\Users\Administrator”
/E 表示拷贝文件时包含子目录(包括空目录)
/COPYALL 表示拷贝所有文件信息
/XJ 表示不包括Junction points(默认是包括的)
/XD 表示不包括指定的目录,此处指定目录为“C:\Users\Administrator” 
        2、rmdir:此命令删除指定目录
        例如:
rmdir “C:\Users” /S /Q
/S 删除指定目录及其中的所有文件,用于删除目录树。
/Q 安静模式。删除时不询问。 
        3、mklink:此命令创建符号连接
例如:
 mklink /J “C:\Users” “D:\Users”
/J 连接类型为目录联接

      (三)在windows xp系统下
        方法一:通过windows7预安装环境

        1、创建windows7 setup 启动盘
        用Bootice将U盘MBR和PBR写为NT6.X的启动方式,将windows7原始安装盘里面的bootmgr提取放在根目录,同时在根目录建立boot、sources文件夹并将原始安装盘中boot目录下bcd和boot.sdi文件、souces目录下boot.wim文件提取放入U盘根目录同名文件夹内。
        有现成的bcd和boot.sdi文件的话(例如从现在运行windows7系统中复制的),使用bootice的bcd文件编辑功能,添加----新建WIM启动项(ramdisk),启动磁盘---boot,设备文件\sources\boot.wim,命名windows setup。
        不给U盘建立bootmgr引导方式(而是grub引导)或者在xp系统的本机上运行(例如安装了一键ghost或者自行建立gurb引导方式)的话,编辑menu.lst:
title Win7 setup
find --set-root /bootmgr
chainloader /bootmgr
一样可以实现引导。本机运行相应的文件放入本机硬盘(c盘)即可.
         若有windows7/vista的原始安装盘,光盘引导---修复计算机------命令行,就不需要上述步骤了。
          2、引导成功后
          选择windows setup,然后Repair your computer,第一项,最后选择CommandPrompt进入命令行,执行以下命令:
robocopy "C:\Documents and Settings" "D:\Documents and Settings" /E /COPYALL /XJ   
rmdir "C:\Documents and Settings" /S /Q  
mklink /J "C:\Documents and Settings" "D:\Documents and Settings"   
         这样就把相应的文件夹转移到了非系统分区。
        方法二:xp系统本身下实现
        有些程序如chrome浏览器或者谷歌拼音输入法等只能安装在系统盘(portable版除外),还有些程序(sandbox)、游戏的数据、存档就是在C:\Documents and Settings文件夹,这时候可以在xp系统下建立目录联接实现转移。       
       1、复制文件夹
        一般的文件夹直接复制到目标磁盘即可,如c:\xyz复制到d盘。但有些文件可能需要注销---切换用户,也还可能出现无法拷贝、删除的情况。可以通过PE引导进入复制、删除文件夹。
       要使用robocopy命令的话,由于xp下没有,可以从这里下载,其用法同上,对于那些顽固/系统文件夹可能要到故障恢复控制台、或者安全模式运行,安装的意义不是很大。
       2、junction命令
       xp系统下没有mklink命令,用junction(juntion.exe,下载地址 )命令,效果与‘mklink /j’相同。把juntion.exe复制到某个文件夹(或者C:\WINDOWS\system32)里,在这个文件夹建立批处理文件,输入命令:
rmdir “C:\xyz” /S /Q
juntion.exe "C:\xyz" "D:\xyz"
        这样就就实现了C:\xyz目录联接到D:\xyz的目的,c:\xyz本身只是类似个快捷方式而几乎不占用c盘空间。xp系统下不像win7那样,会把c:\xyz显示出个带箭头的文件夹图标来。但用dir命令查看c盘会发现明显不同,xyz目录不再是[dir]而是[junction]了。
        这种方法可解决一般文件夹的目录联接问题,像C:\Documents and Settings或者C:\Program Files可能还要用到方法一或者结合pe来执行方可。
        注:只有NTFS硬盘才可实现目录联接。

mklink命令转移win7系统盘文件夹users和programdata(附xp的方法)的更多相关文章

  1. 命令行创建畸形文件夹+畸形目录管理工具(DeformityPath)

    命令行创建畸形文件夹: 第一步:在运行中输入cmd,回车,打开命令行窗口 第二步:在命令行窗口中切换到想要建立文件夹的硬盘分区,如D盘(输入d:) 第三步:输入 MD 123..\ 回车,注意文件夹名 ...

  2. 将Temporary文件夹里的Logo文件转移到Logo文件夹

    /// <summary> /// 将Temporary文件夹里的Logo文件转移到Logo文件夹 /// </summary> /// <param name=&quo ...

  3. 运用CMD命令关于快速获取文件夹名称和快速建立文件夹

    前些天头儿让我建立一本本的文件夹,让后交给我了几个命令,快速获取文件夹的名称和快速建立文件夹,省去了一个个的按F2,一个个的复制,粘贴,一个个的新建,再复制粘贴. 首先讲一下第一个问题,快速获取文件夹 ...

  4. Attrib命令,可以让文件夹彻底的隐藏起来

    Attrib命令,可以让文件夹彻底的隐藏起来,就算是在文件夹选项中设置了显示隐藏文件夹,也无法显示出来的.只能通过路径访问的方式打开文件夹.如上图,就是attrib命令的隐藏文件夹和显示文件夹的两条命 ...

  5. oracle 10g/11g 命令对照,日志文件夹对照

     oracle 10g/11g  命令对照,日志文件夹对照 oracle 11g 中不再建议使用的命令 Deprecated Command Replacement Commands crs_st ...

  6. 从加载DLL的中获取放置于Resources文件夹中资源字典的几种方法

    原文:从加载DLL的中获取放置于Resources文件夹中资源字典的几种方法 主程序 为 Main_Test.exe 被加载的DLL 为 Load_Test.dll  此DLL 中 有一个 文件夹Re ...

  7. python os 命令,及判断文件夹是否存在

    使用前 import os导入模块   os模块: os.sep     可以取代操作系统特定的路径分割符 os.linesep  字符串给出当前平台使用的行终止符.例如,Windows使用'\r\n ...

  8. 【Android测试】【随笔】在手机里用命令行创建中文文件夹

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4580319.html 不知道为啥当时自己写了一段在手机里用 ...

  9. 【转发】du命令 实现Linux 某个文件夹下的文件按大小排序

    1. df -lh 2. du -s /usr/* | sort -rn这是按字节排序 3. du -sh /usr/* | sort -rn这是按兆(M)来排序 4.选出排在前面的10个du -s ...

随机推荐

  1. PHP安全编程:留心后门URL 直接可以通过URL访问(转)

    后门URL是指虽然无需直接调用的资源能直接通过URL访问.例如,下面WEB应用可能向登入用户显示敏感信息: <?php $authenticated = FALSE; $authenticate ...

  2. java.util.jar.JarFile cause native heap memory leak

    最近项目中使用了JarFile 这个类 来load jar包中的 configuration,大致的情况如下 public void processJarEntries(JarFile paramJa ...

  3. 关于 java.util.concurrent 您不知道的 5 件事--转

    第 1 部分 http://www.ibm.com/developerworks/cn/java/j-5things4.html Concurrent Collections 是 Java™ 5 的巨 ...

  4. Need a code of lazy load for div--reference

    1. For all DIVs of a page $(function() {  $("div").lazyload({effect: 'fadeIn'});}); 2. For ...

  5. U盘启动安装CentOS 6.3

    无光驱U盘启动安装CentOS 6.3的一些必要条件: 1.主板要支持U盘启动 2.8G的U盘 3.UltraISO软件 http://www.linuxidc.com/Linux/2010-03/2 ...

  6. diy 电脑 重装系统

    1\组装好电脑 2\硬盘的红灯只亮一会,找不到 硬盘 .bios里 硬盘设置里 IDE修改为 ACHI即可. 3\老毛桃 \ 用桌面的那个分区软件 分区 100G,300G 4\找到U盘 的iso 文 ...

  7. 创建 序列 存储过程 job

    掌握了 oracle中的 dbms_lock 函数,该函数 主要用于暂停执行的程序 1.用意 写job 以10分钟 为单元,前10分钟 从 1到10 插入测试表, 中间10分钟从 11到20插入测试表 ...

  8. [个人原创]关于java中对象排序的一些探讨(一)

    有的时候我们需要将自己定义的对象,有序输出.因为一般我们程序的中间结果需要存储在容器里,那么怎样对容器中的对象按照一定次序输出就是程序员经常需要考虑的问题.本片文章探讨了怎样有序化输出容器中的对象的问 ...

  9. Hibernate 一对多双向关联Demo

    以Classes[班级]和Student[学生]为例的Demo //Classes.java public class Classes implements Serializable { privat ...

  10. POJ2566-Bound Found (尺取法)

    POJ2566-Bound Found 题目大意:给出一段长度为n的数列,数列中的元素有正有负,求一段连续的区间,使得该区间的和的绝对值最接近给定的值 尺取法一般适用于对一段连续的区间的和进行处理的情 ...