改变 Windows 用户文件夹默认位置

https://social.microsoft.com/Forums/zh-CN/b6602d50-1a75-42d2-90bd-3dc6c2c82147/programdata?forum=window7betacn

通常是不建议更改ProgramData设置的。不得已要更改的话,基本来说有两种方法:

方法一、在安装Windows 7前,自定义用户配置文件,将%ProgramData%重定向到其他的文件夹, 例如下面的设定是指向D盘: 

<FolderLocations>

   <ProfilesDirectory>D:\Users</ProfilesDirectory>

   <ProgramData>D:\ProgramData</ProgramData>

</FolderLocations> 

 

方法二:在安装好的Windows 7下, 更改注册表,使ProgramData指向新的文件夹: 

打开注册表,找到下面的路径: 

HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CurrentVersion\ProfileList 

找到ProgramData,将路径更改到新的文件夹, 然后重启。 

 

Windows7文件夹转移清理臃肿的C盘

转载出处:博客园 永不止步

当你使用Windows的时候,你会发现无论哪个版本的Windows,系统都会默认将用户文件夹和程序数据文件夹

(xp下是Documents and Settings文件夹,而windows7和vista下是users和programdata文件夹)存放在C盘之下,

而且这些设置很不容易修改。这样的设置就会导致系统盘在用户使用的过程中越来越臃肿,系统运行速度越来越慢。

相信使用Windows的大部分用户都有此体验。这篇随笔将把默认在C盘的users\用户名文件夹转移到其它分区。

该文件夹不但存放着“我的文档”,“我的图片”等用户自己的文件,也包括用户自己的配置文件,IE的cookies,收藏夹以及上网过程中产生的临时文件。

在使用xp的时候,要完成这样的操作,一般需要再安装另外的软件来完成。

幸好Windows 7 和 vista提供了mklink命令,让这样的操作变得非常简单。

mklink是Windows 7 和 vista提供的创建符号链接和硬链接的一个命令。

其实熟悉Linux系统的朋友都知道,linux系统下早就提供了类似的命令ln.

首先,先来介绍一下mklink这个命令。

C:>mklink
    创建符号链接。
     
    MKLINK [[/D] | [/H] | [/J]] Link Target
     
    /D 创建目录符号链接。默认为文件符号链接。
    /H 创建硬链接,而不是符号链接。
    /J 创建目录联接。
    Link 指定新的符号链接名称。
    Target 指定新链接引用的路径 (相对或绝对)。

 

To delete a symbolic link to a file or directory, the following command line syntax can be used (in each case, "linkname" specifies the name of the symbolic link to be deleted):
For links to files:
del linkName
For links to directories:
rmdir linkName 

 

 

文件和目录都可以通过mklink命令来建立符号链接和硬链接。不过只有NTFS格式的硬盘才可以实现目录链接。

所以建议大家尽量使用NTFS来格式化硬盘。当然在下面的过程中,也要求硬盘格式为NTFS。

符号链接创建后的图标和快捷方式的图标很像。

不过符号链接不占用系统空间,在文件系统中不是一个单独的文件,而快捷方式在系统中是一个单独的文件,占用系统空间,虽然很小。

两者相同的地方就是,如果源文件被删除了,两者就都没有用了;移除链接和快捷方式都不会影响源文件。

除此之外,两个还有一个最大的不同,比如说我们通过mklink命令在C盘目录下创建一个D盘下的文件夹usersdata的符号链接users。

如果usersdata文件夹下有一个admin的子目录,那么我们可以访问C:\users\admin路径。而如果我们创建的是一个usersdata的快捷方式users。

那么我们点击C:\users文件夹时,路径会自动转到D:\userdata下;我们无法访问C:\users\admin路径,或者说C:\users\admin路径根本不存在。

硬链接在系统占用的空间和源文件相同,图标和快捷方式的突变不同,移除源文件或硬链接均不会对另一方产生影响,

而硬链接文件的任何更改都会影响到源文件,而如果源文件被删除的话,它的内容依然通过硬链接的形式存在着。

好了,现在言归正传,怎么把users文件夹定位到其他盘呢?

假设你经常用的登录帐号帐号名为admin,那么首先我们要把这个目录转移到其他盘。

1. 在“计算机管理“中把Administrator用户激活,注销admin后,使用Administrator登录。

之所以要用Administrator登录,是因为只有管理员用户才有权访问其他用户的用户资料文件夹,创建相应的符号链接。

我的电脑(右键)–>管理–>本地用户和组(在左边的选项栏里)–>用户–>右边窗口找到Administrator

–>右键打开Administrator属性,找到下面的帐户禁用那里,把那个禁用的勾勾去掉,点击确定。

 

之后注销当前用户admin,记住一定要注销当前用户,不然admin文件夹下的一些配置文件仍然在被使用而导致接下来的复制和删除操作没法顺利完成。

然后切换到Administrator用户登录windows。首次使用Administrator登录,系统会进行相关的配置。

2.把“C:\users\admin”整个目录复制到其它盘上,比如说D:\admin文件夹中。之后删除C盘users文件夹下的整个admin文件夹。

如果想将其它文件夹转移到非系统盘中,同样的方法,复制然后删除。

3.使用mklink命令创建符号链接,重新登录系统。

首先Windows键+r调出运行对话框,输入cmd,也可以在开始中搜索cmd,然后打开。

输入如下命令来创建符号链接:

mklink /D C:\Users\admin D:\admin

 

注意,C:\Users文件夹下面的admin子目录应该提前删除掉,不然会出现该文件已经存在,无法创建符号链接的错误提示。

这样之后,就可以注销Administrator,重新以admin用户登录系统了。

注意重新登录系统之后,要按照1中的步骤禁用Administrator用户。不然,可能会对系统安全带来隐患。

这样之后,在使用Windows系统的时候,C盘便不会臃肿得那么快了。

而且,即使你重装了系统,也可以保证自己常用的配置不被改变,省去了很多重装系统后的配置工作。

如果你要重新安装系统的话,

在安装Windows 7操作系统的过程中,要求输入用户名及密码的时候,先不如输入任何信息,按“Shift+F10”呼出DOS窗口,输入以下命令:

rmdir “C:\Users\admin” /S /Q 
mklink /J “C:\Users\admin” “D:\admin”

而后关闭DOS窗口,按部就班继续安装直至完成。

如此安装的Windows 7操作系统,所有“用户特殊文件夹”(User Special Folder)的内容都已经被设置在D盘(非系统盘)上。

那么安装完系统之后,你会发现,你所有的配置几乎都能保留下来。当然在平时使用的过程中,软件尽量不要安装在C盘。

如果要把C盘下的ProgramData文件夹转移到其它非系统盘的话,因为该文件夹下文件属性的特殊性,直接复制删除的话,

在删除的时候会出现“You require permission from SYSTEM to make changes to this file”类似的错误。

这样的话可以通过修改该文件夹下的属性来解决这个错误。步骤如下:

1. 右键单击,选择属性。如下图所示,选择安全选项卡,单击高级,然后在新出现的对话框中选择所有者选项卡,

单击编辑,选择你使用的用户,并且勾选”check the Replace owner on subcontainers and objects”,接下来单击应用。

一路点击确定按钮就可以了。

2. 重新打开属性。同样进入安全选项卡里的高级设置。在接下来出现的对话框中选择权限(permissions)选项卡,

选择改变权限(change permissions)按钮。之后会出现一个新的对话框,在该对话框底部有两个供勾选的选项。

第一个选项“Include inheritable permissions from this object's parent”,取消该选项,取消的时候会出现一个警告对话框,

这个警告对话框给出三个选项add, remove, ignore,这时选择添加add就行了。

第二个选项“Replace all child object permissions with inheritable permissions from this object”,勾选该选项即可。

然后确定退出。

如果操作成功的话,就可对programdata文件夹进行删除了。

如果programdata文件夹的权限修改的过程中,出现了无法修改的文件,比如说cache文件,

那么只能通过启动模式中的“Repair your computer”修复计算机模式来进行。

在开机的过程中按F8,之后选择Repair your computer/修复计算机”模式来启动计算机,

之后调出终端命令行cmd,再进行拷贝删除建立符号链接就可以了。命令运行如下:

robocopy C:\ProgramData\ D:\ProgramData\ /E /COPYALL /XJ
rmdir C:\ProgramData /S /Q
mklink /J C:\ProgramData\ D:\ProgramData\

即可。当然也可以将以上命令写入批处理文件.bat,然后在修复模式下,直接运行该批处理文件即可。

这里建议使用后一种方法,因为这种方法相对来说比较简单,容易操作。

当然,也可以使用Windows7安装光盘进入恢复模式来进行操作。

至此,C盘中相关系统文件夹的转移工作已经完成。

Win7用户文件夹转移

找到三种方法:

1、mklink法:

使 用Windows XP时习惯将“我的文档”文件夹重定向到其他盘上,这样重装系统时丢失的数据少一点。

在Win 7/Vista下情况有了变化,所有的用户数据都被放到了“C:\Users\用户名”这个地方,

不但包括“我的文档”“我的图片”等用户自己的文件,还包括用户的配置文件、IE的cookie、收藏夹、上网的临时文件等等。

可惜的是默认情况下这个文件夹还是位于系统盘,如果能放到别的盘,那么重装系统之 后,用户所有的设置、数据将和重装前一样,那会多么方便呀。

关于Windows 7/vista下如何实现系统和用户文件分区存放,这篇文章是很好的参考,其中关键步骤引用如下:

在“计算机管理”里把Administrator用户激活,注销后用Administrator登录;
把“C:\Users\我的用户名”整个目录移到其它盘上,假设移到“D:\我的用户名”;
用mklink.exe创建目录链接:mklink.exe /D C:\Users\我的用户名 D:\我的用户名,
提示会显示链接已经建立,并且会有“<==>”这样一个符号告诉你这两个目录是等同的;
重新登录你自己的帐号,发现一切都没有变化,变化的只是你的文件将和系统分离,它们将更安全!
下次重装时,还用同一个用户名,先用Administrator登录后把新系统中的”C:\Users\我的用户名

 

不过有些地方说得不是很清楚,我照着做时遇到了一些问题,下面是解决办法和注意事项:

一、如何启用administrator帐户

我的电脑(右键)–>管理–>本地用户和组(在左边的选项栏里)–>用户–>右边窗口找到Administrator–>右键打开Administrator属性,找到下面的帐户禁用那里,把那个禁用的勾勾去掉,点击确定。

二、无法移动“C:\Users\用户名”文件夹?

换用administrator登录之后,试图把“C:\Users\用户名”整个目录移到“D:\用户名”,却发现有些文件无法移动,无法删除。

各种办法都想尽了,UAC关了,权限全开了,甚至把这个用户帐号本身删除了,但它遗留下来的User文件夹就是删不了!

此时真是感觉很无力,真不知道微软 是怎么想的……还好装有双系统,切换到另一个系统下面,这个系统下面的东西还不是想怎么删就怎么删,哼,死微软~~

避免这种事情的办法呢,就是真正要用的那个用户名,最好创建之后,登录一次,什么也别做,马上换administrator

什么也别做,免得没留神哪个操作又锁定了什么文件导致无法移动;但是一定要登陆一次,让Windows初始化一些设置,否则的话,

下次登陆Windows很可能自作聪明地给你建一个名为“用户名.计算机名”的文件夹,让你水中捞月一场空……

三、mklink命令的用法

Win+r,输入cmd,打开命令行界面。输入:

mklink /D C:\Users\用户名 D:\用户名

虽然按理说Windows系统是大小写不敏感的,但在我这参数/D一定要大写才能成功,也不知中了什么邪。

这样弄完之后,再换用那个用户名重新登陆——外表感觉不到有任何差别,但是内在却美了许多 :)

2、创建.bat文件:

Win7用户文件夹转移,自己用批处理写的。可以自行选择用户文件夹位置,修改了用户文件夹的

下载、游戏存档、桌面、音乐、收藏夹、图片、视频、文档、缓存及IE临时文件夹的位置,其他文件夹可以自行修改(不建议),

如需修改将行首的 :: 删除即可(Shell Folders及User Shell Folders需要同时修改)。

以下是批处理内容,直接复制保存为.bat文件就能使用

 

@echo off
echo ============================================
echo .
echo .
echo    By Terrorist
echo .
echo .
echo ============================================
echo 将用户文件夹转移到(直接回车将转移至D:\Users\%USERNAME%\):
set /p UserFolderPath=
if not defined UserFolderPath set UserFolderPath=D:\Users\%USERNAME%\
xcopy "%USERPROFILE%" "%UserFolderPath%" /e /c /k /q /y /h
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "{374DE290-123F-4565-9164-39C4925E467B}" /d "%UserFolderPath%\Downloads" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "{4C5C32FF-BB9D-43B0-B5B4-2D72E54EAAA4}" /d "%UserFolderPath%\Saved Games" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "{56784854-C6CB-462B-8169-88E350ACB882}" /d "%UserFolderPath%\Contacts" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "{7D1D3A04-DEBB-4115-95CF-2F29DA2920DA}" /d "%UserFolderPath%\Searches" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "{BFB9D5E0-C6A9-404C-B2B2-AE6DB6AF4968}" /d "%UserFolderPath%\Links" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Desktop"     /d "%UserFolderPath%\Desktop" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Favorites"     /d "%UserFolderPath%\Favorites" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Music"     /d "%UserFolderPath%\Music" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Pictures"     /d "%UserFolderPath%\Pictures" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Video"     /d "%UserFolderPath%\Videos" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Personal"     /d "%UserFolderPath%\Documents" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "{1B3EA5DC-B587-4786-B4EF-BD1DC332AEAE}"  /d "%UserFolderPath%\AppData\Roaming\Microsoft\Windows\Libraries" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "{A520A1A4-1780-4FF6-BD18-167343C5AF16}"  /d "%UserFolderPath%\AppData\LocalLow" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Administrative Tools"    /d "%UserFolderPath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Administrative Tools" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "AppData"      /d "%UserFolderPath%\AppData\Roaming" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Cache"      /d "%UserFolderPath%\AppData\Local\Microsoft\Windows\Temporary Internet Files" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "CD Burning"      /d "%UserFolderPath%\AppData\Local\Microsoft\Windows\Burn\Burn" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Cookies"     /d "%UserFolderPath%\AppData\Roaming\Microsoft\Windows\Cookies" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "History"      /d "%UserFolderPath%\AppData\Local\Microsoft\Windows\History" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Local AppData"     /d "%UserFolderPath%\AppData\Local" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "NetHood"      /d "%UserFolderPath%\AppData\Roaming\Microsoft\Windows\Network Shortcuts" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "PrintHood"      /d "%UserFolderPath%\AppData\Roaming\Microsoft\Windows\Printer Shortcuts" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Programs"      /d "%UserFolderPath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Recent"      /d "%UserFolderPath%\AppData\Roaming\Microsoft\Windows\Recent" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "SendTo"      /d "%UserFolderPath%\AppData\Roaming\Microsoft\Windows\SendTo" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Start Menu"      /d "%UserFolderPath%\AppData\Roaming\Microsoft\Windows\Start Menu" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Startup"      /d "%UserFolderPath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Templates"      /d "%UserFolderPath%\AppData\Roaming\Microsoft\Windows\Templates" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "{374DE290-123F-4565-9164-39C4925E467B}"  /d "%UserFolderPath%\Downloads" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "{4C5C32FF-BB9D-43B0-B5B4-2D72E54EAAA4}"  /d "%UserFolderPath%\Saved Games" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "{56784854-C6CB-462B-8169-88E350ACB882}"  /d "%UserFolderPath%\Contacts" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "{7D1D3A04-DEBB-4115-95CF-2F29DA2920DA}"  /d "%UserFolderPath%\Searches" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "{BFB9D5E0-C6A9-404C-B2B2-AE6DB6AF4968}"  /d "%UserFolderPath%\Links" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Desktop"      /d "%UserFolderPath%\Desktop" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Favorites"     /d "%UserFolderPath%\Favorites" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "My Music"     /d "%UserFolderPath%\Music" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "My Pictures"     /d "%UserFolderPath%\Pictures" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "My Video"     /d "%UserFolderPath%\Videos" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Personal"     /d "%UserFolderPath%\Documents" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "PrintHood"     /d "%UserFolderPath%\AppData\Roaming\Microsoft\Windows\Printer Shortcuts" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "AppData"      /d "%UserFolderPath%\AppData\Roaming" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Cache"      /d "%UserFolderPath%\AppData\Local\Microsoft\Windows\Temporary Internet Files" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Cookies"      /d "%UserFolderPath%\AppData\Roaming\Microsoft\Windows\Cookies" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "History"      /d "%UserFolderPath%\AppData\Local\Microsoft\Windows\History" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Local AppData"      /d "%UserFolderPath%\AppData\Local" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "NetHood"      /d "%UserFolderPath%\AppData\Roaming\Microsoft\Windows\Network Shortcuts" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Programs"      /d "%UserFolderPath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Recent"      /d "%UserFolderPath%\AppData\Roaming\Microsoft\Windows\Recent" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "SendTo"      /d "%UserFolderPath%\AppData\Roaming\Microsoft\Windows\SendTo" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Start Menu"      /d "%UserFolderPath%\AppData\Roaming\Microsoft\Windows\Start Menu" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Startup"      /d "%UserFolderPath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" /f
::reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Templates"      /d "%UserFolderPath%\AppData\Roaming\Microsoft\Windows\Templates" /f
echo 注销或重启后生效!
pause>nul

3、mklink的另一种方法

如果你用的是Windows 7操作系统,还遇到想Windows 7操作系统中把“用户文件夹”设置在非系统盘问题,没关系。

本文为你详解Windows 7操作系统把“用户文件夹”设置在非系统盘。

注意:以下假设你想把用户文件夹设置在D盘,且假定D盘是NTFS分区。

一、在安装Windows 7操作系统的过程中,要求输入用户名及密码的时候,先不如输入任何信息,按“Shift+F10”呼出DOS窗口,输入以下命令:

robocopy "C:\Users" "D:\Users" /E /COPYALL /XJ
rmdir "C:\Users" /S /Q
mklink /J "C:\Users" "D:\Users"

而后关闭DOS窗口,按部就班继续安装直至完成。

如此安装的Windows 7操作系统,所有“用户特殊文件夹”(User Special Folder)的内容都已经被设置在D盘(非系统盘)上。

二、如果想要移动已安装好的Windows 7操作系统中的用户文件夹,那么就要按以下步骤操作(稍微麻烦一点,并且过程中可能会出现无法拷贝文件的情况):

0. 关闭所有应用程序;
1. 按一下“Windows”键,输入“计算机管理”之后按“Enter”,呼出“计算机管理器”;
2. 鼠标点击“Administrator”,选择属性,而后在随后的对话框中去掉“帐户已禁用”之前的勾,而后关闭“计算机管理器”;
3. 注销当前用户(注意,不是“切换用户”),而后以“Administrator”登录
4. 打开命令行窗口,输入以下命令:robocopy "C:\Users" "D:\Users" /E /COPYALL /XJ /XD "C:\Users\Administrator"
5. 注销Administrator,重新用你的用户名登录Windows 7操作系统,而后到“计算机管理器”里禁用Administrator;
6. 以管理员身份打开一个DOS窗口,输入以下命令:
rmdir "C:\Users" /S /Q
mklink /J "C:\Users" "D:\Users"

操作以上步骤,你就成功的完成Windows 7操作系统把“用户文件夹”设置在非系统盘中。

 

移动Win7用户文件夹(我的文档)默认位置至D盘

Windows7的用户文件夹默认所在位置是系统盘(通常是C盘)下的“\Users”目录之内。

该文件夹中储存着所有的用户生成文件,比如你保存在“桌面”上的文件(实际上是保存在C:\Users\你的用户名\Desktop\目录之中),

再比如你保存在“我的文档”里的文件(实际上是保存在C:、Users\用户名\Documents目录之中)。

 

  用户文件夹处于系统盘的坏处在于,如若系统盘一旦坏掉,就可能连带用户文件一并丢失;

其次,由于(随着使用不断生成的)用户文件处于系统盘,也没办法时常备份“干净的系统盘”。

  如果能把用户文件夹挪到另外一块儿硬盘上(或者另外一个硬盘分区上),那么系统维护就会容易得多。

平时生成的文件(大多数人放在“桌面”、“我的文档”里的文件最多),都被保存在系统盘(或分区)之外;

于是随时都可以在不必担心用户文件丢失的情况下重新安装系统(或恢复系统备份)。

  注意,以下假设你想把用户文件夹设置在D盘,假定D盘是NTFS分区

1、新系统安装时:

  在安装Win7的过程中,要求输入用户名及密码的时候,先不如输入任何信息,按“Shift+F10”呼出DOS窗口,输入以下命令: 

robocopy "C:\Users" "D:\Users" /E /COPYALL /XJ
rmdir "C:\Users" /S /Q
mklink /J "C:\Users" "D:\Users"

 而后关闭DOS窗口,按部就班继续安装直至完成。如此安装的Windows7,所有“用户特殊文件夹”(User Special Folder)的内容都已经被设置在D盘(非系统盘)上。

看了大家的回复留言,请注意:

①正确移动后,装完系统看一下C盘下的Users文件夹为【快捷式】!!!

②我移动在F盘(性质与D盘是一样的),关键看移动后的文件名为【用户】;

③结果只要与上面那2方面截图一样的话,那你就OK了!!! 

2、已经安装好的win7系统:

  如果想要移动已安装好的Windows7中的用户文件夹,那么就要按以下步骤操作(稍微麻烦一点,并且过程中可能会出现无法拷贝文件的情况):

①关闭所有应用程序:

  1. 按一下“Windows”键,输入“计算机管理”之后按“Enter”,呼出“计算机管理器”;

  2. 鼠标点击“Administrator”,选择属性,而后在随后的对话框中去掉“帐户已禁用”之前的勾,而后关闭“计算机管理器”;

  3. 注销当前用户(注意,不是“切换用户”),而后以“Administrator”登录

  4. 打开命令行窗口,输入以下命令:robocopy "C:\Users" "D:\Users" /E /COPYALL /XJ /XD "C:\Users\Administrator"

  5. 注销Administrator,重新用你的用户名登录Windows7,而后到“计算机管理器”里禁用Administrator;

  6. 以管理员身份打开一个DOS窗口,输入以下命令:

  rmdir "C:\Users" /S /Q

  mklink /J "C:\Users" "D:\Users"

  呵呵,是不是有些复杂?嗯,新手老手们都可以亲自把玩下。 

②如果这样嫌麻烦,还有个开机强制的方法:

开机时按F8键,出现黑底白字的菜单(如下图),默认光标在第一项Repair your computer上,直接按回车。

 

之后会弹出2个提示框,直接点Next或OK即可。就来到了这一界面:

单击最后一项:Command Prompt,依次输入下面三条命令。每条命令后按回车。

 以下3条命令将“用户文件夹”从“C:\Users”设置为“D:\Users”。

  • robocopy “C:\Users” “D:\Users” /E /COPYALL /XJ /XD “C:\Users\Administrator”
    参数说明:此命令为Windows的“强健文件拷贝”命令。
    /E 表示拷贝文件时包含子目录(包括空目录)
    /COPYALL 表示拷贝所有文件信息
    /XJ 表示不包括Junction points(默认是包括的)
    /XD “C:\Users\Administrator” 表示不包括指定的目录,此处指定目录为:“C:\Users\Administrator”
  • rmdir “C:\Users” /S /Q
    参数说明:此命令删除指定目录。
    /S 删除指定目录及其中的所有文件。用于删除目录树。
    /Q 安静模式。删除时不询问。
  • mklink /J “C:\Users” “D:\Users”
    参数说明:此命令创建符号连接。
    /J 连接类型为目录连接

执行完成后,单击Restart重启。就OK了。

3、其他的一些修改:

修改注册表-run-regedit:
LocalMechine-Software-Microsoft-WindowsNT-CurrentVersion
①计算机注册单位:用户名:“实际预想的用户名”

 

LocalMechine-Software-Microsoft-WindowsNT-CurrentVersion-Profilelist
②用户文件夹位置:将各键值的 %**% 改为 D:

LocalMechine-Software-Microsoft-Windows-CurrentVersion
③安装目录:CommonFilesDir/ProgramFilesDir/ProgramFilesPath的 %**% 改为 D:

 

使用“实际预想的用户名”新建帐户,并注销旧帐户,登录新帐户

移动原用户个人文件夹至现用户个人文件夹,删除旧帐户包括其个人文件夹,在系统盘删除Users联接,删除并重建Program Files联接 

关于缓存,计算机属性-高级系统设置-高级-环境变量-系统变量
将Temp、TMP的值改为与用户变量相同,即%USERPROFILE%\AppData\Local\Temp 

根据需要,设置资源管理器打开直接显示到我的电脑:
%SystemRoot%\explorer.exe /e,::{20D04FE0-3AEA-1069-A2D8-08002B30309D} 

这样,下次装系统时,不需要备份任何文件,甚至有些软件可以不需要安装直接使用。并且可以利用Win7的库,操作更方便。 

当然,用户文件夹不支持覆盖,如果使用的用户名与用户文件夹内的文件夹重名,个人文件夹将被加上后缀.计算机名-PC。 

[原]把Windows 7 用户文件夹挪移到非系统分区

 Windows 一直默认都是把用户文档等放在系统分区的,为了避免重装系统后丢失数据,通常会把用户文件夹定义到非系统分区(例如D盘)。

XP 前的方法很简单,右键属性修改一下即可。

Windows 7 等系统引入了库的概念,针对特定的文件夹,如我的文档、我的视频等,也可以通过右键属性中的“位置”来把其重新定位到其他分区的。

但是,一来文件夹比较多,二来有些系统文件夹(%AppData%)等,很多的软件都会把用户数据存放在里面,加上系统缓存等导致所需空间越来越大。

这通过简单的位置定位是不能解决的。最终的解决办法是,

把系统盘的Users 目录(称为 用户特殊文件夹 User Special Folder)整个迁移到非系统分区,这也是本文的目的。

    本来以为这个问题很简单,Google 一下网上有大堆的方法,工作基本是类似的。但实际操作发现,由于存在100M的系统保留分区,

按网上资料的操作会导致丢失用户文件夹的问题。经过若干次测试,终于找到较完善的解决办法,特整理出来。

一、工作原理
实际的工作原理很简单,就是把系统分区上默认的Users 目录移动到非系统分区,然后在原地创建一个指向该目录的链接。这与Linux 环境是非常类似的。

需要注意的地方是,用户登录后就会使用Users 目录下的文件。所以,如果在当前用户登录的情况下,移动或删除Users 目录中的文件都会失败的。

网上提供的解决办法通常有三个:


1. 在系统安装过程中操作,也就是说,在需要输入首个用户信息时

 

 

使用Shift+F10 打开Dos 命令行窗口来操作:

可以参考这里的介绍。

2. 打开系统默认禁用的Administrator 用户,然后注销当前用户,以Administrator 用户登录后操作。
可参考这里,该操作主要是避免当前用户占用文件的问题,但经测试,有些后台服务也会使用Users 目录中的文件,

即使重启系统也不一定可以完全避免问题。这还没包括Users/Administrator 用户文件夹本身的情况。所以,这不是一个好办法。

3. 更好的办法是,在系统修复模式下进行操作。
因为修复模式是独立的系统,不依赖磁盘中系统的状态,不会出现用户或服务占用文件的问题。我们下面的操作就以该方法进行。

二、系统保留分区问题
网上不少文档也提到系统修复模式下进行处理的方法,但与这些资料不同的地方是,我的磁盘分区中有个100M的系统保留分区:

这分区是在安装Windows 7 时由安装程序自动创建的,平时在系统环境中也没有分配盘符。所以,在日常的系统中,系统盘是C 盘,非系统盘是D 盘。
不过,在系统修复模式下就不同了,该模式下,会自动读取磁盘上的分区,包括系统保留分区。这时,系统保留分区是C 盘,真正的系统盘是D 盘,而E 盘才是非系统盘。

正是因为这个差异,如果按网上的资料中进行拷贝或创建链接操作,是会出现用户文件夹(systemprofile\Desktop)丢失的异常问题。

三、实际操作
把问题搞清楚,实际操作并不复杂。

1. 进入系统修复模式
重启机器,并不断按F8 键,让系统打开高级启动选项菜单:

选择“修复计算机”。

2. 根据提示,选择键盘类型,输入登录用户名和密码

3. 识别当前分区和盘中数据
从dir 命令反馈的结果可看到,系统保留分区为C 盘,系统真正数据在D 盘(Users 目录在D 盘):

4. 拷贝Users 目录及创建链接
接下来,就是通过robocopy 进行拷贝的工作。(robocopy 能确保数据及其相关信息完整拷贝)

robocopy "D:\Users" "E:\Users" /E /COPYALL /XJ

然后,先把当前Users 目录改名:

move Users Users_bak

最后,在当前位置创建一个指向真实Users 数据的链接:

mklink /J "D:\Users" "D:\Users"

※注意:这是最关键的一步,看上去很奇怪,也是与其他文档不同的地方。
前面数据拷贝到E 盘,但这里的链接还是指向D 盘。原因就是因为系统保留分区的问题。

在系统进入正常引导时(非修复模式),这里的非系统分区E 盘,在没有为系统保留分区分配盘符的情况下,会成为D 盘。所以,我们的链接让应该指向D 盘。

看看操作后的结果:

至此,全部操作完成,退出命令提示符,重启系统即可。

进入系统后,可以看到系统C 盘Users 目录是个链接符:而真实数据是在非系统D 盘:

四、注意事项
1. 系统保留分区的问题
因为Windows 7 安装方式的不同,在使用光盘安装windows7或在安装过程中执行了删除分区并格式化建立新的分区的时候,

才会出现这个100M 的系统保留分区。具体原因可参考:这里。

如果你的硬盘没有出现该分区,那么上面在操作中就完全可以按正常的C 盘和D 盘移动数据和创建符号链接即可,反正原理是相同的。

2. 移动数据大小问题
虽然,理论上该方法与Users 目录大小无关。但由于robocopy 速度很慢,所以,建议在系统安装完毕后尽早进行该操作,

以避免其他软件安装后带来的大量用户数据文件。还有IE 浏览器缓存数据等,可以先清空缓存后再操作,这对操作时间还是影响很大的。

3. 可能出现的问题
“User Profile Service 服务未能登录,无法加载用户配置文件”

这问题,可能是因为系统盘没有Users 目录,例如忘了用mklink 创建符号链接导致的。这时你将进不了系统的,

重新进入修复模式,创建一个对应的Users 目录链接吧。或者参考这里。

“位置不可用:C:\Windows\system32\config\systemprofile\Desktop 引用了一个不可用的位置。”

 

这问题与上面的情况和原因是类似的,只是表现形式不同而已。

通常原因是Users 目录的当前用户下缺少了“Desktop”(或“用户”)文件夹,可能没有在修复模式下拷贝文件,

导致有部分文件因被占用,后来删除Users 目录后这部分文件丢失引起的。

如果文件没有备份,解决起来很麻烦。

通常是借用Administrator 重新创建一个同名用户,然后逐一拷贝恢复数据。

当然,如果有Users 目录备份,那简单,再拷贝一次即可。

 


posted @ 2015-03-31 16:11  IAmAProgrammer  阅读(30273)  评论(0编辑  收藏  举报