6 disk-space mklink windows-10 windows-10-v1709 move
基本上,问题是这样的:
我拥有一台带有 32 GB EMMC 存储空间的 Windows 10 电脑,可以满足我发送邮件、进行基本打字等的需要。有一个插槽可以插入 MicroSD 卡 ( D:\
),我使用 128GB 卡来存储文件。我在其中安装了所有程序,从 MS Office 到 Adobe Reader。由于 C:\ 驱动器只有 32GB,所以其中所剩空间不多(90% 已满)。因此,我想将 C:\Users 文件夹移动到 D:\ 驱动器以释放一些空间。
关于 C:\Users 文件夹的一些背景知识:
使所有隐藏文件可见后,其大小约为 5.5 GB,如下所示:
因此,如果我设法将其发送到另一个驱动器,之后我将在 C:\ 中获得大量空间。
因此,为了这个目的,我开始在 SuperUser 中寻找类似的东西。大多数问题是几年前针对 Windows 7 或 8 提出的,因此,如果您认为这个问题与其他一些问题完全重复,请考虑这种情况。
在我的探索中,我遇到的第一件事是:
我已经使用这个技巧(涉及符号链接的使用)将我的 MS Office 移动到外部 D:\ 驱动器,但我不确定此方法是否适用于移动 C:\Users。
接下来我遇到的事情是:
将 c:\Users 文件夹永久移动到 Windows 7 中的另一个分区
但是,这个问题是在 2011 年提出的,现在已经结束了。这个问题中涉及的操作系统是过时的Windows 7。因此,我担心在遵循提供的解决方案后会遇到问题。
那么,谁能告诉我是否可以C:\Users
开车D:\
,以及如何完成?另外,转移到另一个驱动器有哪些风险C:\Users
?而且,如果我将来升级当前的 Windows 10 版本,会产生影响吗?
PS:在有人问我为什么使用这么旧版本的 Windows 10 之前,我想告诉大家,我使用的是 Windows 10 v1709,因为由于空间不足,我无法升级到新版本:(
是的,我们可以通过 Powershell 脚本自动化整个过程来移动用户配置文件。首先创建一个临时管理帐户。然后运行这个:
$ProfilePaths = Get-ChildItem "REGISTRY::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" |
Where-Object {$_.Name -match "^S-1-5-21*"} |
Select-Object -ExpandProperty Name -Skip 1 | Foreach {
(Get-ItemProperty "REGISTRY::$($_)" -Name "ProfileImagePath").ProfileImagePath
}
$ProfilePaths = $ProfilePaths | Where-Object {$_ -ne "C:\Users\$($env:Username)"}
$ProfilePaths | Foreach {
$Current = "$_"
$Move = $_ -replace "^C:","D:"
Move-Item -Path "$Current" -Destination "$Move"
$User = New-Object System.Security.Principal.NTAccount("$(Split-Path "$Current" -Leaf)")
$SID = $User.Translate([System.Security.Principal.SecurityIdentifier])
Set-ItemProperty "REGISTRY::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\$($SID.Value)" -Name "ProfileImagePath" -Value "$Move"
}
Move-Item -Path "C:\Users\Default" -Destination "D:\Users\Default"
Set-ItemProperty "REGISTRY::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" -Name "Default" -Value "D:\Users\Default"
Move-Item -Path "C:\Users\Public" -Destination "D:\Users\Public"
Set-ItemProperty "REGISTRY::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" -Name "Public" -Value "D:\Users\Public"
Run Code Online (Sandbox Code Playgroud)
该脚本的作用:
从临时管理员帐户运行此命令
不幸的是,您无法移动 C:\Users,但可以批量移动所有用户配置文件。
归档时间: |
|
查看次数: |
32026 次 |
最近记录: |