如何在还原卡环境下初步保留你的设置

· · 休闲·娱乐

我们在这里只讨论仅还原C盘,或至少有一块硬盘不还原的情况。如果你的电脑会把所有东西全部还原,推荐您使用云电脑。

作者才疏学浅,欢迎大家把自己爱用的软件的保存方法补全在这里((

在尝试运行本文的任何代码时,都请先修改代码中的文件位置!作者的文件夹目录是D:\__arHX\,可供参考。

Edge

针对这个问题,有大佬开发了便携式的edge。

原repo、直接下载安装包戳这里!

这是由 bibicadotnet 开发的将 edge 便携化的脚本(当然针对每一个版本的 edge ,作者也直接打包了压缩包,可以在 releases 中下载)。

下载之后你可以直接解压到不还原的盘中,并直接使用这个版本的Edge。这个版本不会在C盘储存任何东西,在还原之后,你的微软账户、浏览记录、扩展等也可以保留

不过这个版本的edge会在和 程序的父文件夹 同目录下再创建一个DataCache的文件夹,因此喜欢整洁的人务必单独开一个文件夹放Edge文件夹。

VS Code

你可以先下载一个VSCode的官方便携版,在 VSCode 官网右上角的大Download按钮跳出的这个页面中,点击文本.zip右侧的x64小按钮即可下载到.zip版本的VSCode。

随后解压到不还原的盘,为主程序 Code.exe 创建一个快捷方式,并右键点开这个快捷方式的属性,将目标这一行加两个参数:

D:\__arHX\Software\VSCode\Code.exe\ //你的Code.exe主程序位置,无需修改
--extensions-dir "D:\__arHX\Software\VSCodeData\extensions" //存放扩展的文件夹
--user-data-dir "D:\__arHX\Software\VSCodeData" //存放用户文件的文件夹

这两个参数可以重定向存放扩展的位置

确保你每一次点开VSCode都是经过这个快捷方式即可。

还原右键菜单的"Open With VSCode"

可以通过注册表自动化。新建一个txt文件,粘贴并修改下列内容,把扩展名改成.reg,并将其合并。

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\VSCode]
@="Open with Code"
"Icon"="D:\\__arHX\\Software\\VSCode\\Code.exe"
[HKEY_CLASSES_ROOT\*\shell\VSCode\command]
@="\"D:\\__arHX\\Software\\VSCode\\Code.exe\" --extensions-dir \"D:\\__arHX\\Software\\VSCodeData\\extensions\" --user-data-dir \"D:\\__arHX\\Software\\VSCodeData\" \"%1\""

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\VSCode]
@="Open with Code"
"Icon"="D:\\__arHX\\Software\\VSCode\\Code.exe"
[HKEY_CLASSES_ROOT\Directory\shell\VSCode\command]
@="\"D:\\__arHX\\Software\\VSCode\\Code.exe\" --extensions-dir \"D:\\__arHX\\Software\\VSCodeData\\extensions\" --user-data-dir \"D:\\__arHX\\Software\\VSCodeData\" \"%V\""

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode]
@="Open with Code"
"Icon"="D:\\__arHX\\Software\\VSCode\\Code.exe"
[HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode\command]
@="\"D:\\__arHX\\Software\\VSCode\\Code.exe\" --extensions-dir \"D:\\__arHX\\Software\\VSCodeData\\extensions\" --user-data-dir \"D:\\__arHX\\Software\\VSCodeData\" \"%V\""

注意改成你的路径参数。可以请DeepSeek代劳。

此外也可以用bat命令自动合并 .reg 文件:

regedit /s "文件.reg"

QQ

直接安装到D盘,并在登录好qq以后把文档文件夹中的 Tencent Files文件夹复制一份到D盘,随后写一个bat脚本:

xcopy "D:\你的文件夹\Tencent Files" "C:\Users\Administrator\Documents\Tencent Files" /y /h /e

每次开机时运行,可以继承你复制时的文件。

Dev-C++

默认的配置文件存放在C:\Users\Administrator\AppData\Roaming\Dev-Cpp中,相似地,手动保存并每次开机使用脚本复制即可。

主题

对于Win10,要导出主题,需要在Windows设置\个性化\主题中右键你现在的主题,点击“保存用于共享的主题”就可以导出成 .deskthemepack 文件。

可以直接在 bat 中通过start 主题.deskthemepack应用你的自定义主题。

文件关联

没写完

可以利用 bat 中的命令 `ftype`(创建文件类型) 和 `assoc`(修改文件关联)来实现自动化。

这里直接放代码了,比较简单,容易理解。
batch
:: 这里只是提权
chcp 65001 >nul
net session >nul 2>&1
if %errorLevel% neq 0 (
    powershell -Command "Start-Process '%~f0' -Verb RunAs"
    exit /b
)

:: 这里分开定义了路径和参数
set "VSCodePath=D:\__arHX\Software\VSCode\Code.exe"
set "VSCodeArgs=--extensions-dir "D:\__arHX\Software\VSCodeData\extensions" --user-data-dir "D:\__arHX\Software\VSCodeData""

ftype VSCodeFile="%VSCodePath%" %VSCodeArgs% "%%1" %%*
assoc .txt=VSCodeFile
assoc .log=VSCodeFile
assoc .md=VSCodeFile
assoc .json=VSCodeFile
assoc .xml=VSCodeFile
assoc .cpp=VSCodeFile
assoc .c=VSCodeFile
assoc .hpp=VSCodeFile
assoc .h=VSCodeFile
assoc .py=VSCodeFile
assoc .java=VSCodeFile
assoc .md=VSCodeFile

图标会变成vscode的logo,暂时不知道怎么修复。

默认浏览器

在24年的某次累积更新之后这个方法失效了,win11或win10特别高版本的同学可以不用看了。不过应该这种情况下也一般不需要更改默认浏览器

在巨硬的某次更新之后不能用正常的方式来脚本修改默认浏览器了,这时我们请出工具 SetUserFTA。将页面拖到最底下就可以下载个人版,免费。

SetUserFTA 是一个命令行工具,可以快速修改文件关联,具体的各种使用方法可以在这里查到。

但是这个工具并不支持直接设置.exe形式的关联,我们需要先在注册表的applications中注册我们的新edge: (这些内容放在一个.reg文件中)

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Applications\msedgeport.exe]
[HKEY_CLASSES_ROOT\Applications\msedgeport.exe\shell]
[HKEY_CLASSES_ROOT\Applications\msedgeport.exe\shell\open]
[HKEY_CLASSES_ROOT\Applications\msedgeport.exe\shell\open\command]
@="\"D:\\__arHX\\Software\\Edge\\msedge.exe\" \"%1\""

这样我们在注册表里注册了一个名为msedgeport.exe的应用。

这里是一个修改默认关联的实例,把 Edge 的关联改成了上文注册表中的位置:

cd /d "D:\Path\to\SetUserFTA.exe"

SetUserFTA http applications\msedgeport.exe
SetUserFTA https applications\msedgeport.exe
SetUserFTA microsoft-edge applications\msedgeport.exe
SetUserFTA .htm applications\msedgeport.exe
SetUserFTA .html applications\msedgeport.exe

其他浏览器大同小异。

作者的电脑上预先安装了VSCode,但作者不想用这个低版本的VSCode,也可以这样修改注册表达成:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Applications\Code.exe\shell\open\command]
@="\"D:\\__arHX\\Software\\VSCode\\Code.exe\" --extensions-dir \"D:\\__arHX\\Software\\VSCodeData\\extensions\" --user-data-dir \"D:\\__arHX\\Software\\VSCodeData\" \"%1\""

常见问题:为什么不用这个方法来修改Edge的关联?

答:Edge的关联比较奇特,不如SetUserFTA+注册表简单。