Hike News
Hike News

[瞎捣鼓] 把C盘转移的只剩Windows

想要把C盘保留的只剩Windows文件夹,那么就要把别的文件夹移出去,那怎么移出去呢?

危险命令警告 : 本文章中部分操作可能会造成严重后果,请备份好您的数据。

一、分析步骤

主要是以下步骤:

  1. 复制C盘下文件夹至其他盘
  2. 删除C盘的文件夹
  3. 创建C盘 文件夹<=> 的其他盘文件夹 的硬链接

而删除C盘文件的时候会存在已经运行的系统程序,所以要在PE系统或者Windows的系统恢复模式下的CMD执行操作。
而为了方便实现这些操作,就要使用以下这四个命令实现每个步骤。

二、解释命令

  1. shutdown 关机重启至Windows恢复模式
    我们使用时的命令为:
    1
    shutdown /r /o /t 0
    参数解析:
    /r : 重启计算机。
    /o : 转到高级启动选项菜单(恢复模式)并重新启动计算机。
    /t 0 : 将关闭前的超时时间设置为0秒。
  2. robocopy 复制C盘文件夹至其他盘
    我们使用时的命令为:
    1
    robocopy "sourcePath" "targetPath" /E /COPYALL /XJ /XD WindowsApps
    参数解析:
    "sourcePath" : 源目录
    "targetPath" : 目录路径
    /E : 复制所有子目录(包括空目录)。
    COPYALL : 复制所有文件信息
    /XJ : 排除符号链接的项目(避免因符号链接导致递归复制或错误)
    /XD WindowsApps : 排除名为 WindowsApps 的目录(常用于跳过系统或应用商店的敏感目录)。
  3. rmdir 删除C盘文件夹
    我们使用时的命令为:
    1
    rmdir "targetPath" /S /Q
    参数解析:
    rmdir : 删除目录的命令。
    "targetPath" : 目标目录(Windows 默认程序安装路径)。
    /S : 递归删除目录及其所有子目录和文件。
    /Q : 静默模式(不提示确认)。
  4. mklink 创建硬链接
    我们使用时的命令为:
    1
    mklink /J  "targetPath" "sourcePath"
    参数解析:
    /J : 创建目录联接(Junction)(适用于本地目录)
    "targetPath" : 新创建的链接路径(目标路径)
    "sourcePath" : 原始目录路径(源路径)

熟悉命令后,我们只要在Windows恢复模式的CMD或者PE系统运行就好了。但是鉴于Windows恢复模式下的CMD使用不便,而且我们的操作都是对C盘重要文件夹操作,所以还是提前编写脚本,之后再到运行就会方便而且安全很多。那具体脚本如何写呢?

三、具体脚本

由于重启命令只有一行而且没有风险,所以不必编写脚本,
那我们只要编写操作较多的复制、删除与链接脚本就好。
这里,我们把软件要转移的盘设置为D盘,数据要转移的盘设置为E盘,若要转换别的盘针对性修改参数即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
SET ProgPath=D:
SET DataPath=E:
echo ---------Moveing "Program Files (x86)"---------
robocopy "C:\Program Files (x86)" "%ProgPath%\Program Files (x86)" /E /COPYALL /XJ /XD WindowsApps
rmdir "C:\Program Files (x86)" /S /Q
mklink /J "C:\Program Files (x86)" "%ProgPath%\Program Files (x86)"
echo -------------Moveing "Program Files"-----------
robocopy "C:\Program Files" "%ProgPath%\Program Files" /E /COPYALL /XJ /XD WindowsApps
rmdir "C:\Program Files" /S /Q
mklink /J "C:\Program Files" "%ProgPath%\Program Files"
echo ----------------Moveing "Users目录"----------------
robocopy "C:\\Users" "%DataPath%\Users" /E /COPYALL /XJ /XD WindowsApps
rmdir "C:\\Users" /S /Q
mklink /J "C:\\Users" "%DataPath%\Users"

将以上脚本修改保存以.bat为文件后缀名,比如mv.bat,存放到你能找到的地方。

四、运行脚本

接下来,运行以下命令便会进入到Windows的恢复模式:

先不要运行,先看完以下步骤再运行命令

1
shutdown /r /o /t 0

之后在打开的蓝色界面中,按照以下步骤以此点击即可进入Windows的恢复模式中的CMD:

1
故障排除 -> 高级选项 -> 命令提示符

之后,在命令行中输入保存的.bat后缀的脚本文件路径,回车运行等待运行完成即可。
若Windows的恢复模式中没有以上选项,可以去使用PE系统操作,网络上具体方法较多,自己查询即可。