当前位置: 首页 > article >正文

Windows系统中如何使用符号链接将.vscode等配置文件夹迁移到D盘(附 CMD PowerShell 双版本命令)

在日常开发和使用中,很多应用程序都会在 Windows 用户目录(如 C:\Users\你的用户名\)下创建一些以点开头的隐藏配置文件夹,例如:

  • .vscode — Visual Studio Code 的设置和插件数据
  • .cursor — Cursor 编辑器的缓存和设置
  • .windsurf — Windsurf 编译环境的配置文件
  • .trae-cn — Trae 工具的本地缓存目录
  • .lingma — 灵码智能助手的工作目录

这些文件夹虽不大起眼,但随着时间推移可能占据大量 C 盘空间,影响系统性能。将它们迁移到 D 盘可以显著释放系统盘资源,但直接移动往往会导致程序出错或无法识别。因此,推荐使用符号链接(Symbolic Link)的方法进行迁移,让程序“以为”文件夹还在原地,实际上却是在 D 盘。


📋 本文结构

  1. 为什么使用符号链接?
  2. 操作前准备事项
  3. 迁移文件夹的详细步骤
  4. CMD 和 PowerShell 两种命令方式
  5. 使用建议与常见问题

1️⃣ 为什么使用符号链接?

符号链接(Symbolic Link)是一种特殊的快捷方式,操作系统会自动把对链接路径的访问“重定向”到目标路径。

使用它的好处包括:

  • 🧩 程序无需修改路径设置
  • 💻 系统无缝访问,兼容性极好
  • 📦 大文件夹可迁移到任意磁盘(如 D:、E:)
  • ✅ 稳定、简单、无需第三方软件

2️⃣ 操作前准备事项

  • 请先关闭所有相关程序(如 VS Code、Cursor 等),防止文件夹被占用。
  • 备份重要数据,尤其是配置文件或工作区。
  • 建议打开终端以管理员身份运行,否则部分操作可能失败。

3️⃣ 迁移步骤详解(共四步)

✅ 步骤 1:在 D 盘创建目标目录

建议统一放到一个目录中,例如 D:\

mkdir D:\.vscode
mkdir D:\.cursor
mkdir D:\.windsurf
mkdir D:\.trae-cn
mkdir D:\.lingma

✅ 步骤 2:移动原始文件夹内容到 D 盘

使用 PowerShell 命令如下:

Move-Item "$env:USERPROFILE\.vscode\*" "D:\.vscode\"
Move-Item "$env:USERPROFILE\.cursor\*" "D:\.cursor\"
Move-Item "$env:USERPROFILE\.windsurf\*" "D:\.windsurf\"
Move-Item "$env:USERPROFILE\.trae-cn\*" "D:\.trae-cn\"
Move-Item "$env:USERPROFILE\.lingma\*" "D:\.lingma\"

也可以使用资源管理器手动剪切-粘贴。


✅ 步骤 3:删除原始文件夹(必须)

使用 PowerShell 删除原文件夹:

Remove-Item "$env:USERPROFILE\.vscode" -Recurse
Remove-Item "$env:USERPROFILE\.cursor" -Recurse
Remove-Item "$env:USERPROFILE\.windsurf" -Recurse
Remove-Item "$env:USERPROFILE\.trae-cn" -Recurse
Remove-Item "$env:USERPROFILE\.lingma" -Recurse

⚠️ 必须是删除而不是重命名,否则无法创建同名符号链接。


✅ 步骤 4:创建符号链接(CMD & PowerShell 双版本)


▶️ CMD 方式(经典可靠,广泛兼容)

在“开始菜单”中搜索 CMD,右键“以管理员身份运行”,输入:

mklink /D "%USERPROFILE%\.vscode" "D:\.vscode"
mklink /D "%USERPROFILE%\.cursor" "D:\.cursor"
mklink /D "%USERPROFILE%\.windsurf" "D:\.windsurf"
mklink /D "%USERPROFILE%\.trae-cn" "D:\.trae-cn"
mklink /D "%USERPROFILE%\.lingma" "D:\.lingma"

▶️ PowerShell 方式(脚本友好,现代推荐)

以管理员身份运行 PowerShell,输入:

New-Item -ItemType SymbolicLink -Path "$env:USERPROFILE\.vscode" -Target "D:\.vscode"
New-Item -ItemType SymbolicLink -Path "$env:USERPROFILE\.cursor" -Target "D:\.cursor"
New-Item -ItemType SymbolicLink -Path "$env:USERPROFILE\.windsurf" -Target "D:\.windsurf"
New-Item -ItemType SymbolicLink -Path "$env:USERPROFILE\.trae-cn" -Target "D:\.trae-cn"
New-Item -ItemType SymbolicLink -Path "$env:USERPROFILE\.lingma" -Target "D:\.lingma"

💡 使用建议

  • 建议逐个迁移,可先从 .vscode 进行测试。
  • 🚫 不建议迁移系统文件夹(如 .config.ssh),以免引发权限或兼容性问题。
  • 🧹 可以配合 WinDirStat 等工具分析空间占用,决定是否迁移更多目录。
  • 💻 PowerShell 脚本可打包为 .ps1 文件,实现批量迁移自动化。

🧩 FAQ 常见问题

Q:符号链接和快捷方式有何区别?
A:符号链接是系统级映射,程序会认为目标路径是“真实的”,而快捷方式只是图标跳转,不适用于应用程序内部路径调用。

Q:符号链接能用于同步盘(如 OneDrive)吗?
A:可以,但需注意同步服务可能自行打断链接结构,建议慎用。

Q:以后还能回退吗?
A:当然可以,删除符号链接,再将文件夹移回原路径即可。


✅ 总结

步骤描述
1️⃣创建 D 盘目标目录
2️⃣移动原始数据
3️⃣删除原目录
4️⃣使用 CMD 或 PowerShell 创建符号链接

通过这种方式,你可以优雅、高效地释放 C 盘空间,而不影响开发环境的正常使用。配置文件、缓存数据统统迁移到 D 盘,系统轻松不少!

相关文章:

Windows系统中如何使用符号链接将.vscode等配置文件夹迁移到D盘(附 CMD PowerShell 双版本命令)

在日常开发和使用中,很多应用程序都会在 Windows 用户目录(如 C:\Users\你的用户名\)下创建一些以点开头的隐藏配置文件夹,例如: .vscode — Visual Studio Code 的设置和插件数据.cursor — Cursor 编辑器的缓存和设…...

4. 数据类型

4.1 数据类型分类 分类 数据类型 说明 数值类型 BIT(M) 位类型。M指定位数,默认值1,范围1 - 64 TINYINT [UNSIGNED] 带符号的范围 -128 ~ 127,无符号范围0 ~ 255,默认有符号 BOOL 使用0和1表示真和假 SMALLINT [UNSIGNED] 带符号是…...

MySQL基础(二)SQL语言、客户端工具

目录 三、SQL语言 3.1 概念 3.2 基本操作 四、客户端工具 三、SQL语言 3.1 概念 SQL(Structured Query Language)结构化查询语言。SQL用于对存储数据,更新,查询和管理关系型数据库的程序设计语言。 通常执行对数据库的增删改…...

【贪心、DP、线段树优化】Leetcode 376. 摆动序列

贪心算法:选 “关键转折点” 初始状态:把数组第一个元素当作起点,此时前一个差值符号设为平坡(即差值为0)。遍历数组:从第二个元素开始,依次计算当前元素和前一个元素的差值。差值符号判断&…...

CppCon 2015 学习:C++ in the audio industry

实时编程(real-time programming):音频处理对延迟极度敏感,要求代码必须非常高效且稳定。无锁线程同步(lock-free thread synchronization):避免阻塞,提高性能,尤其是在多…...

C++算法-动态规划2

第 4 题 字符串分割 (Word Break) 难度: Medium备注:出自 leetcode题目描述 Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of one or more dictionary words. For example, given s "l…...

软信天成:数据驱动型背后的人工智能,基于机器学习的数据管理

在数字化转型浪潮中,当代企业如同逆水行舟,不进则退。无数企业希望通过数字化转型捕获全新的市场机遇,改善财政状况,在未来市场竞争中占据一席之地。要想获得成功的数字化转型,关键因素在于具备可靠、及时的数据用以支…...

MySQL提升

事务 事务:在多个操作合在一起视为一个整体。要么就不做、要么就做完。 事务应该满足ACID A : 原子性。不可分割。C : 一致性。追求的目标,在开始到结束没有发生预定外的情况。I : 隔离性。不同的事务是独立的。D : 持久性。系统崩溃,数据依然…...

hbase资源和数据权限控制

hbase适合大数据量下点查 https://zhuanlan.zhihu.com/p/471133280 HBase支持对User、NameSpace和Table进行请求数和流量配额限制,限制频率可以按sec、min、hour、day 对于请求大小限制示例(5K/sec,10M/min等),请求大小限制单位如…...

VMWare下设置共享文件,/mnt/hgfs下却不显示共享文件的解决方法

一、共享文件夹设置步骤 打开虚拟机设置:右键点击虚拟机 → 选择 “设置” → 切换到 “选项” 标签页 → 点击 “共享文件夹”启用共享功能:选择 “总是启用”(确保虚拟机已关闭或处于运行状态)添加共享文件夹: 点击…...

go语言的锁

本篇文章主要讲锁,主要会涉及go的sync.Mutex和sync.RWMutex。 一.锁的概念和发展 1.1 锁的概念 所谓的加锁和解锁其实就是指一个数据是否被占用了,通过Mutex内的一个状态来表示。 例如,取 0 表示未加锁,1 表示已加锁&#xff…...

C++11完美转发

在 C11 之前,泛型函数在传递参数时无法保证参数的原始类型(左值或右值)导致额外的拷贝或移动操作,完美转发是一种高效传递技术,能够保持参数的原始特性,避免额外的性能开销 完美转发是指在泛型编程中以参数…...

VUE解决页面请求接口大规模并发的问题(请求队列)

方案1: 请求队列 // RequestQueue.js export default class RequestQueue {constructor(maxConcurrent) {this.maxConcurrent maxConcurrent; // 最大并发请求数this.currentConcurrent 0; // 当前并发请求数this.queue []; // 请求队列this.requestId 0; // …...

IDEA安装迁移IDEA配置数据位置

需求 因为C盘有清空风险,需要把IDEA(2025)安装位置以及配置数据都挪到D盘。 安装 到官网下载安装包 安装,这里可以改下安装位置 这几个选项随意,然后一直下一步就好 完成后重启或不重启都随意 迁移数据 初次安…...

Blazor-表单提交的艺术:如何优雅地实现 (下)

在上一章节中我们使用HTML的方式介绍了如何在Blazor框架下进行表单的提交&#xff0c;而在Blazor框架中也为我们内置了<EditForm>组件来代替原始的HTML,<form>&#xff0c;下面我们将对<EditForm>的用法进行讲解&#xff0c;并将两种表单方式进行对比&#x…...

五子棋网络对战游戏的设计与实现设计与实现【源码+文档】

五子棋网络对战游戏的设计与实现 摘 要 在现代社会中,及其它无线设备越来越多的走进普通老百姓的工作和生活。随着3G技术的普及与应用&#xff0c;基于Java开发的软件在上的使用非常的广泛&#xff0c;增值服务的内容也是越来越多&#xff0c;对丰富人们的生活内容、提供快…...

Vue基础(14)_列表过滤、列表排序

Array.prototype.filter()【ES5】 filter() 方法创建给定数组一部分的浅拷贝&#xff0c;其包含通过所提供函数实现的测试的所有元素。 语法&#xff1a; filter(callbackFn) filter(callbackFn, thisArg) 参数&#xff1a; callbackFn(回调函数)&#xff1a;为数组中的每个元…...

Spring Boot项目中JSON解析库的深度解析与应用实践

在现代Web开发中&#xff0c;JSON&#xff08;JavaScript Object Notation&#xff09;作为轻量级的数据交换格式&#xff0c;已成为前后端通信的核心桥梁。Spring Boot作为Java生态中最流行的微服务框架&#xff0c;提供了对多种JSON库的无缝集成支持。本文将深入探讨Spring B…...

我用Amazon Q写了一个Docker客户端,并上架了懒猫微服商店

自从接触了Amazon Q&#xff0c;我陆陆续续写了不少小软件&#xff0c;其中这个项目是一个典型的例子&#xff0c;自己平时来使用&#xff0c;也分享给一些 NAS 爱好者来用。 故事还要用上次折腾黑群晖说起&#xff0c;本意想把 NAS 和打印机共享二合一的&#xff0c;所以把闲着…...

Django CMS 的 Demo

以下是关于 Django CMS 的 Demo 示例及相关资源的整理 安装与运行 Django CMS 示例 使用 djangocms-installer 快速创建 Django CMS 项目&#xff1a; pip install django_cms djangocms -p . mysite安装记录 pip install django-cms Looking in indexes: https://pypi.tun…...

在 UE5 蓝图中配置Actor类型的Asset以作为位置和旋转设置目标

目标 UE5的蓝图的事件图表里面&#xff0c;有一个模块&#xff08;节点&#xff09;如图&#xff0c;这是一个设置Actor的location和rotation量的模块&#xff0c;其中需要接收一个Target作为输入&#xff0c;这个Target应该就是一个在map中具备location和rotation信息的实例化…...

Android 之 kotlin 语言学习笔记四(Android KTX)

一、Android KTX 简介 Android KTX 是包含在 Android Jetpack 及其他 Android 库中的一组 Kotlin 扩展程序。KTX 扩展程序可以为 Jetpack、Android 平台及其他 API 提供简洁的惯用 Kotlin 代码。为此&#xff0c;这些扩展程序利用了多种 Kotlin 语言功能&#xff0c;其中包括&…...

适用于vue3的大屏数据展示组件库DataV(踩坑版)

踩坑版 如果按照官网(https://datav-vue3.jiaminghi.com/)的vue3安装有问题 官网是将dataview/datav-vue3 安装为本地依赖 npm install dataview/datav-vue31、跑起来报错&#xff08;报错信息忘记保留了&#xff09; 有人说找到node_modules&#xff0c; 安装成功后会有这个…...

mysql实现分页查询

文章目录 mysql实现分页查询1. 使用LIMIT和OFFSET2. 使用计算OFFSET的函数&#xff08;适用于动态分页&#xff09;3. 使用MySQL的变量&#xff08;适用于存储过程&#xff09; 获取所有用户数据并分页 mysql实现分页查询 在MySQL中实现分页查询&#xff0c;通常我们会使用LIM…...

Flink checkpoint

对齐检查点 (Aligned Checkpoint) Flink 的分布式快照机制受到 Chandy-Lamport 算法的启发。 其核心元素是数据流中的屏障&#xff08;Barrier&#xff09;。 Barrier 注入 &#xff1a;JobManager 中的 Checkpoint Coordinator 指示 Source 任务开始 Checkpoint。Source 任务…...

【java】在springboot中实现证书双向验证

证书生成 public static void main(String[] args) throws Exception {// 生成密钥对KeyPairGenerator keyPairGenerator KeyPairGenerator.getInstance("RSA");keyPairGenerator.initialize(2048);KeyPair keyPair keyPairGenerator.generateKeyPair();// 获取私…...

CppCon 2015 学习:Functional Design Explained

这两个 C 程序 不完全相同。它们的差异在于对 std::cout 的使用和代码格式。 程序 1&#xff1a; #include <iostream> int main(int argc, char** argv) {std::cout << "Hello World\n"; }解释&#xff1a;这个程序是 正确的。std::cout 是 C 标准库中…...

基于3D对象体积与直径特征的筛选

1&#xff0c;目的 筛选出目标3D对象。 效果如下&#xff1a; 2&#xff0c;原理 使用3D对象的体积与直径特征进行筛选。 3&#xff0c;代码解析 3.1&#xff0c;预处理2.5D深度图。 * 参考案例库&#xff1a;select_object_model_3d.hdev * ****************************…...

GIT - 如何从某个分支的 commit创建一个新的分支?

如果上一个Release 分支被污染了&#xff0c;想要还原这个分支最原始的样子&#xff0c;有什么办法或者说该怎么办呢&#xff1f;简单来说&#xff0c;就是如何从某个指定的 commit 创建一个新的 Git 分支&#xff1f; 操作非常简单&#xff01; 命令格式 git branch <ne…...

Claude vs ChatGPT vs Gemini:功能对比、使用体验、适合人群

随着AI应用全面进入生产力场景&#xff0c;市面上的主流AI对话工具也进入“三国杀”时代&#xff1a; Claude&#xff08;Anthropic&#xff09;&#xff1a;新锐崛起&#xff0c;语言逻辑惊艳&#xff0c;Opus 模型被称为 GPT-4 杀手ChatGPT&#xff08;OpenAI&#xff09;&a…...