优化c盘空间
第一步 查看当前目录下 文件夹的占用
powershell -command "Get-ChildItem -Directory -Force | ForEach-Object { $dir = $_; $size = (Get-ChildItem $dir.FullName -Recurse -File -Force | Measure-Object -Property Length -Sum).Sum; [PSCustomObject]@{ Folder = $dir.Name; SizeMB = [math]::Round($size / 1MB, 2) } } | Sort-Object SizeMB -Descending | Format-Table -AutoSize"

第二步 把需要迁移的文件夹 复制移动到指定的 c文件夹

第三步删除c盘文件
执行命令创建关联
mklink /J "C:\Users\gus\AppData\Local\Google" "D:\Documents\Google"
后续文件就存储在D盘
这个命令用于在 Windows 中创建一个目录联接(directory junction),本质上是一个指向另一个文件夹的"快捷方式",但对系统和应用程序来说,它看起来就像一个真实的文件夹。
命令分解
-
mklink:Windows 自建命令,用于创建符号链接或目录联接。 -
/J:参数,表示创建目录联接(Junction)。目录联接只能用于文件夹,并且可以在本地文件系统内跨盘符工作(例如从 C 盘链接到 D 盘)。 -
"C:\Users\gus\AppData\Roaming\LarkShell":这是链接路径,即你要创建的"假文件夹"的位置。执行后,这个路径会变成一个指向目标的"链接"。 -
"D:\Documents\LarkShell":这是目标路径,即实际存储数据的真实文件夹。所有对链接路径的读写操作,都会被系统透明地重定向到这个真实路径。
执行效果
-
运行命令后,在
C:\Users\gus\AppData\Roaming\下会出现一个名为LarkShell的文件夹(带有快捷方式图标,但系统视为真实文件夹)。 -
当你或任何程序访问
C:\...\LarkShell时,实际上是在访问D:\Documents\LarkShell里的内容。 -
对链接内文件的任何修改,都会直接反映到目标文件夹中。
常见用途
-
节省 C 盘空间 :很多软件的配置、缓存默认存储在 C 盘用户目录(
AppData等),通过联接将其转移到其他盘(如 D 盘),可以释放 C 盘压力。 -
数据迁移:方便将应用数据统一管理,或同步到云盘。
-
保持兼容性:某些软件硬编码了配置文件路径,不能直接更改,用联接可以"欺骗"软件,让它仍然读写原路径,但实际数据已移走。
针对你的场景
LarkShell 很可能是 飞书(Lark) 或其他类似应用的配置文件目录。执行此命令后,飞书的配置、缓存等数据会被存储到 D:\Documents\LarkShell,而应用仍然从原路径读取,实现了无缝迁移。
注意事项
-
目标路径必须存在 :执行命令前,请确保
D:\Documents\LarkShell文件夹已经创建好,否则链接会指向一个不存在的位置,导致访问出错。 -
数据一致性:如果原路径已存在数据,建议先将其复制到目标路径,再创建链接(或者先创建链接,再把原数据移进去)。
-
删除链接 :如果不再需要链接,直接删除
C:\...\LarkShell这个"文件夹"即可,不会影响D:\Documents\LarkShell里的真实数据。如果误删了真实数据,恢复起来会比较麻烦。 -
权限问题:创建链接通常需要管理员权限(命令提示符需以管理员身份运行)。如果权限不足,命令可能失败。