转移AppData下的某些目录到其他目录

Windows有个很操蛋的问题,很多软件的配置文件在AppData目录中,重装系统后会丢失,要想把这些配置文件转移到别的目录,最简单的办法,是直接移走,然后用符号链接(不是快捷方式)给链接回去,但是如果需要转移的目录很多,链接起来有点麻烦,所以写了下面这个批处理自动链接。

同理,还可以实现用Onedrive在不同PC之间同步软件的配置。

使用说明:比如,把C:\Users\user\AppData\Local\test1移动到D:\AppData\Local\test1,把C:\Users\user\AppData\Roaming\test2移动到D:\AppData\Roaming \test2
把link.bat放到D:\AppData, D:\AppData结构如下:
D:\AppData\
——–Local\
—————-test2\
——–Roaming
—————-test1\
——–link.bat
右键,用管理员运行 link.bat,link.bat就会自动创建符号链接到用户名路。

::link.bat
@ECHO OFF
cd %~dp0
setlocal ENABLEDELAYEDEXPANSION
set /a n=1
for /f "delims=" %%A in ('dir /a:d /b %~dp0Local') do (
	set FileName!n!=Local\%%A
	set /a n+=1
	)
for /f "delims=" %%A in ('dir /a:d /b %~dp0Roaming') do (
	set FileName!n!=Roaming\%%A
	set /a n+=1
	)
set /a n=%n%-1
for /l %%i in ( 1 1 %n% ) do (
	if exist %userprofile%\AppData\!FileName%%i! rd /s /q %userprofile%\AppData\!FileName%%i!
	mklink /d %userprofile%\AppData\!FileName%%i! %~dp0!FileName%%i!
	)
pause

发表评论

电子邮件地址不会被公开。