你们重装完系统,NTFS盘的权限如何调整?

我最近重装完系统,NTFS的盘无法移动提示权限问题,赋予新账户全部的权限都不行,只能用如下命令修改:

# Step 1: 使用 robocopy 移动和同步内容
robocopy sublime_text\ tmp /move /mir /copy:dat /mt:1

# Step 2: 删除源目录(如它已经为空)
rmdir sublime_text

# Step 3: 重命名目标目录
rename tmp sublime_text

但是拷贝时间太久了……想交流下有没有简单的方法呀?

我是这样:

echo y|(cacls 路径 /t /c /g Everyone:F)
1 Like

从来没有遇到过这种问题诶…可能是我总是使用精简版系统,而精简版系统大多默认创建管理员账户?

如果你转移过用户目录,同样会存在这个问题的,所有东西全在C盘,重装都完全格式化了,自然就没有问题

1 Like

这么麻烦的么

1 Like

一直分区使用,一直都是新建的用户,重装系统好像没这个问题,最多就是安全选项卡中多了问号和SID用户,可能是上一个系统残留的。

问题在于新系统用户是否是管理员,
旧系统用户是否转移了用户目录

%USERPROFILE%

除了公司有特殊规定外,自用基本上都是管理员账户吧,不然啥都干不了

是管理员权限呀,而且也转移了目录权限到新的账户,
但是,
新账户操作目录就是不行,直到我用 robocopy 命令重新复制了一个没权限的目录才可以。
或者是否可以关闭NTFS的这种权限管理功能?

反正我用的如下脚本是没有问题,没换目录!

@echo off

if not exist d: (
	echo.
	echo.
	echo 你当前没有D盘,请安装D盘后再试
	echo.
	echo.
	pause
	goto end
) 

>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (goto UAC) else ( goto Administrator )
:UAC
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /b

:Administrator
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
PUSHD %~DP0

echo.
echo.
echo.
set /p flag=请确认是否要转移频繁读写目录到D盘?(y或其它)
if /i %flag% neq y (
	goto end
)

net stop vmickvpexchange
net stop vmicshutdown
net stop vmicheartbeat
net stop vmictimesync
net stop vmicvss
net stop vmms
net stop vmicrdv
net stop vmcompute
net stop docker
net stop mysqla
c:
cls
mkdir D:\User>nul 2>nul
REM echo y|(cacls D:\User /t /c /g Everyone:F)

mkdir D:\User\USERPROFILE\Temp>nul 2>nul
echo [.ShellClassInfo]>D:\User\USERPROFILE\Temp\desktop.ini
echo IconResource=C:\Windows\System32\SHELL32.dll,31>>D:\User\USERPROFILE\Temp\desktop.ini
attrib +s +h D:\User\USERPROFILE\Temp\desktop.ini>nul 2>nul
attrib +R D:\User\USERPROFILE\Temp>nul 2>nul


set Temp=D:\User\USERPROFILE\Temp>nul
set Tmp=D:\User\USERPROFILE\Temp>nul

setx Temp %Temp%>nul
setx Tmp %Temp%>nul
setx Temp %Temp% /m>nul
setx Tmp %Temp% /m>nul

rd /s /q %USERPROFILE%\AppData\Local\Temp>nul 2>nul>nul 2>nul
rd /s /q %SystemRoot%\TEMP>nul 2>nul>nul 2>nul

if not exist "D:\User\Install\update_user_dir.bat" (
	goto skipUserDirUpdate
)

call D:\User\Install\update_user_dir.bat
goto afterUserDirSet

:skipUserDirUpdate

SET "SF=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
SET "USF=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"

rem 设置个人文件夹
SET "Users=D:\User"
cd /d "%Users%

set initFile=D:\User\desktop.ini
set initFile2=D:\BootVhds\desktop.ini

if not exist "%initFile%" (
	mkdir D:\User\USERPROFILE>nul 2>nul
	echo [.ShellClassInfo]>D:\User\USERPROFILE\desktop.ini
	echo IconResource=C:\Windows\System32\SHELL32.dll,165>>D:\User\USERPROFILE\desktop.ini
	attrib +s +h D:\User\USERPROFILE\desktop.ini>nul 2>nul
	attrib +R D:\User\USERPROFILE>nul 2>nul

	mkdir D:\User\ProgramData>nul 2>nul
	echo [.ShellClassInfo]>D:\User\ProgramData\desktop.ini
	echo IconResource=C:\Windows\System32\SHELL32.dll,61>>D:\User\ProgramData\desktop.ini
	attrib +s +h D:\User\ProgramData\desktop.ini>nul 2>nul
	attrib +R D:\User\ProgramData>nul 2>nul

	mkdir "D:\User\.jude">nul 2>nul
	robocopy "%USERPROFILE%\.jude" "D:\User\.jude" /E /COPYALL /MOVE>nul
	echo.>D:\User\jude.log
	attrib +s +h D:\User\jude.log>nul 2>nul

	echo [.ShellClassInfo]>%initFile%
	echo IconResource=C:\windows\System32\SHELL32.dll,158>>%initFile%
	attrib +s +h %initFile%>nul 2>nul
	attrib +R D:\User>nul 2>nul

	echo [.ShellClassInfo]>%initFile2%
	echo IconResource=C:\windows\System32\SHELL32.dll,223>>%initFile2%
	attrib +s +h %initFile%>nul 2>nul
	attrib +R D:\BootVhds>nul 2>nul
)

mkdir "%USERPROFILE%\.bakfile">nul 2>nul

rem 移动原 桌面
for /f "tokens=2,*" %%i in ('reg query "%SF%" /v "Desktop"') do set Desktop=%%j
if not exist "%Users%\Desktop" (
	if /i "%Desktop%" NEQ "%Users%\Desktop" robocopy  "%Desktop%" "%Users%\Desktop" /E /COPYALL /XJ /MOVE>nul 2>nul
) else (
	move -y "%Desktop%" "%USERPROFILE%\.bakfile\Desktop">nul 2>nul
)

rem 移动原 收藏夹
for /f "tokens=2,*" %%i in ('reg query "%SF%" /v "Favorites"') do set Favorites=%%j
if not exist "%Users%\Favorites" (
	if /i "%Favorites%" NEQ "%Users%\Favorites" robocopy  "%Favorites%" "%Users%\Favorites" /E /COPYALL /XJ /MOVE>nul
) else (
	move -y "%Favorites%" "%USERPROFILE%\.bakfile\Favorites">nul 2>nul
)

rem 移动原 视频
for /f "tokens=3,*" %%i in ('reg query "%SF%" /v "My Video"') do set Videos=%%j
if not exist "%Users%\Videos" (
	if /i "%Videos%" NEQ "%Users%\Videos" robocopy  "%Videos%" "%Users%\Videos" /E /COPYALL /XJ /MOVE>nul
) else (
	move -y "%Videos%" "%USERPROFILE%\.bakfile\Videos">nul 2>nul
)

rem 移动原 我的音乐
for /f "tokens=3,*" %%i in ('reg query "%SF%" /v "My Music"') do set Music=%%j
if not exist "%Users%\Music" (
	if /i "%Music%" NEQ "%Users%\Music" robocopy  "%Music%" "%Users%\Music" /E /COPYALL /XJ /MOVE>nul
) else (
	move -y "%Music%" "%USERPROFILE%\.bakfile\Music">nul 2>nul
)

rem 移动原 我的图片
for /f "tokens=3,*" %%i in ('reg query "%SF%" /v "My Pictures"') do set Pictures=%%j
if not exist "%Users%\Pictures" (
	if /i "%Pictures%" NEQ "%Users%\Pictures" robocopy  "%Pictures%" "%Users%\Pictures" /E /COPYALL /XJ /MOVE >nul
) else (
	move -y "%Pictures%" "%USERPROFILE%\.bakfile\Pictures">nul 2>nul
)

rem 移动原 下载
for /f "tokens=2,*" %%i in ('reg query "%SF%" /v "{374DE290-123F-4565-9164-39C4925E467B}"') do set Downloads=%%j
echo 正在移动下载
if not exist "D:\Downloads" (
	if /i "%Downloads%" NEQ "D:\Downloads" robocopy  "%Downloads%" "D:\Downloads" /E /COPYALL /XJ /MOVE>nul
) else (
	move -y "%Downloads%" "%USERPROFILE%\.bakfile\Downloads">nul 2>nul
)

rem 移动原 搜索
for /f "tokens=2,*" %%i in ('reg query "%SF%" /v "{7D1D3A04-DEBB-4115-95CF-2F29DA2920DA}"') do set Searches=%%j
if not exist "%Users%\Searches" (
	if /i "%Searches%" NEQ "%Users%\Searches" robocopy  "%Searches%" "%Users%\Searches" /E /COPYALL /XJ /MOVE >nul
) else (
	move -y "%Searches%" "%USERPROFILE%\.bakfile\Searches">nul 2>nul
)

rem 移动原 我的文档
for /f "tokens=2,*" %%i in ('reg query "%SF%" /v "Personal"') do set Documents=%%j
if not exist "%Users%\Documents" (
	if /i "%Documents%" NEQ "%Users%\Documents" robocopy  "%Documents%" "%Users%\Documents" /E /COPYALL /XJ /MOVE >nul
	rd /s /q "%Documents%"
) else (
	move -y "%Documents%" "%USERPROFILE%\.bakfile\Documents">nul 2>nul
)

rem Shell Folders
REG ADD "%SF%" /F /V "Personal" /T REG_SZ /D "%Users%\Documents"
REG ADD "%SF%" /F /V "Desktop" /T REG_SZ /D "%Users%\Desktop"
REG ADD "%SF%" /F /V "My Video" /T REG_SZ /D "%Users%\Videos"
REG ADD "%SF%" /F /V "My Pictures" /T REG_SZ /D "%Users%\Pictures"
REG ADD "%SF%" /F /V "Favorites" /T REG_SZ /D "%Users%\Favorites"
REG ADD "%SF%" /F /V "My Music" /T REG_SZ /D "%Users%\Music"
REG ADD "%SF%" /F /V "Download Directory" /T REG_SZ /D "D:\Downloads"
REG ADD "%SF%" /F /V "{374DE290-123F-4565-9164-39C4925E467B}" /T REG_SZ /D "D:\Downloads"
REG ADD "%SF%" /F /V "{7D1D3A04-DEBB-4115-95CF-2F29DA2920DA}" /T REG_SZ /D "%Users%\Searches"
rem User Shell Folders
REG ADD "%USF%" /F /V "Personal" /T REG_EXPAND_SZ /D "%Users%\Documents"
REG ADD "%USF%" /F /V "Desktop" /T REG_EXPAND_SZ /D "%Users%\Desktop"
REG ADD "%USF%" /F /V "My Video" /T REG_EXPAND_SZ /D "%Users%\Videos"
REG ADD "%USF%" /F /V "My Pictures" /T REG_EXPAND_SZ /D "%Users%\Pictures"
REG ADD "%USF%" /F /V "Favorites" /T REG_EXPAND_SZ /D "%Users%\Favorites"
REG ADD "%USF%" /F /V "My Music" /T REG_EXPAND_SZ /D "%Users%\Music"
REG ADD "%USF%" /F /V "Download Directory" /T REG_EXPAND_SZ /D "D:\Downloads"
REG ADD "%USF%" /F /V "{374DE290-123F-4565-9164-39C4925E467B}" /T REG_EXPAND_SZ /D "D:\Downloads"
REG ADD "%USF%" /F /V "{7D1D3A04-DEBB-4115-95CF-2F29DA2920DA}" /T REG_EXPAND_SZ /D "%Users%\Searches"

:afterUserDirSet

set initFile=D:\User\AppData\desktop.ini
if not exist %initFile% (
	mkdir D:\User\AppData>nul 2>nul
	echo [.ShellClassInfo]>%initFile%
	echo IconResource=C:\windows\System32\SHELL32.dll,19>>%initFile%
	attrib +s +h %initFile%>nul 2>nul
	attrib +R D:\User\AppData>nul 2>nul
)

::------------------------------------------------------------------------------- 
net stop Everything
taskkill /f /im Everything*>nul 2>nul
set name=Everything
set dir=%localappdata%\%name%
set target=D:\User\AppData\Local\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
mkdir "%target%">nul 2>nul
echo y|(cacls "%target%" /t /c /g Everyone:F)
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Microsoft\Windows\INetCache\IE
set dir=%localappdata%\%name%
set target=D:\User\AppData\Local\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
mkdir "%target%">nul 2>nul
echo y|(cacls "%target%" /t /c /g Everyone:F)
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=qq_guild-updater
set dir=%localappdata%\%name%
set target=D:\User\AppData\Local\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
mkdir "%target%">nul 2>nul
echo y|(cacls "%target%" /t /c /g Everyone:F)
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Yodao
set dir=%localappdata%\%name%
set target=D:\User\AppData\Local\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
mkdir "%target%">nul 2>nul
echo y|(cacls "%target%" /t /c /g Everyone:F)
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=NVIDIA
set dir=%localappdata%\%name%
set target=D:\User\AppData\Local\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
mkdir "%target%">nul 2>nul
echo y|(cacls "%target%" /t /c /g Everyone:F)
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=pip
set dir=%localappdata%\%name%
set target=D:\User\AppData\Local\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
mkdir "%target%">nul 2>nul
echo y|(cacls "%target%" /t /c /g Everyone:F)
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=TortoiseSVN
set dir=%localappdata%\%name%
set target=D:\User\AppData\Local\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
mkdir "%target%">nul 2>nul
echo y|(cacls "%target%" /t /c /g Everyone:F)
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=TSVNCache
set dir=%localappdata%\%name%
set target=D:\User\AppData\Local\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
mkdir "%target%">nul 2>nul
echo y|(cacls "%target%" /t /c /g Everyone:F)
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Temp
set dir=%localappdata%\%name%
set target=D:\User\AppData\Local\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
mkdir "%target%">nul 2>nul
echo y|(cacls "%target%" /t /c /g Everyone:F)
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul


set name=Tencent\QQBrowser
set dir=%localappdata%\%name%
set target=D:\User\AppData\Local\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
mkdir "%target%">nul 2>nul
echo y|(cacls "%target%" /t /c /g Everyone:F)
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul





:: --------------------

set name=JetBrains
set dir=%localappdata%\%name%
set target=D:\User\AppData\Local\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
mkdir "%target%">nul 2>nul
echo y|(cacls "%target%" /t /c /g Everyone:F)
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Apple
set dir=%localappdata%\%name%
set target=D:\User\AppData\Local\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
mkdir "%target%">nul 2>nul
echo y|(cacls "%target%" /t /c /g Everyone:F)
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Adobe
set dir=%localappdata%\%name%
set target=D:\User\AppData\Local\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
mkdir "%target%">nul 2>nul
echo y|(cacls "%target%" /t /c /g Everyone:F)
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

:: ------------------------------------------------------

set name=Packages\MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe
set dir=%localappdata%\%name%
set target=D:\User\AppData\Local\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
mkdir "%target%">nul 2>nul
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

:: --------------------------------------------------------- 
set name=PotPlayerMini64
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
mkdir "%target%">nul 2>nul
echo y|(cacls "%target%" /t /c /g Everyone:F)
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Microsoft\Office
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
mkdir "%target%">nul 2>nul
echo y|(cacls "%target%" /t /c /g Everyone:F)
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Apple Computer
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
mkdir "%target%">nul 2>nul
echo y|(cacls "%target%" /t /c /g Everyone:F)
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=JetBrains
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
mkdir "%target%">nul 2>nul
echo y|(cacls "%target%" /t /c /g Everyone:F)
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Adobe
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
mkdir "%target%">nul 2>nul
echo y|(cacls "%target%" /t /c /g Everyone:F)
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Tencent
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=com.fancynode.pxcook
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Figma
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Microsoft\Word
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Microsoft\PowerPoint
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=draw.io
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=MQTTX
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=BaiduYunGuanjia
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Oray
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Autokroma
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=vlc
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=NVIDIA
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul


:: --------------------------------------------------------------------------

set name=WorkSpace
set dir=C:\%name%
set target=D:\%name%
set initFile=%target%\desktop.ini
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
	echo [.ShellClassInfo]>%initFile%
	echo IconResource=C:\windows\System32\SHELL32.dll,321>>%initFile%
	attrib +s +h %initFile%>nul 2>nul
	attrib +R "%target%">nul 2>nul
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul
attrib +R "%dir%" /l /d>nul 2>nul

set name=Docker
set dir=C:\ProgramData\%name%
set target=D:\User\ProgramData\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Corel\Downloads
set dir=C:\ProgramData\%name%
set target=D:\User\ProgramData\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Docker
set dir=C:\ProgramData\%name%
set target=D:\User\ProgramData\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=DockerDesktop
set dir=C:\ProgramData\%name%
set target=D:\User\ProgramData\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

c:
set name=Microsoft\Windows\Containers\Sandboxes
set dir=C:\ProgramData\%name%
set target=D:\User\ProgramData\%name%
if exist E:\User SET target=E:\User\ProgramData\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Microsoft\Windows\Hyper-V
set dir=C:\ProgramData\%name%
set target=D:\User\ProgramData\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Hyper-V\Virtual Hard Disks
set dir=%PUBLIC%\Documents\%name%
set target=D:\User\ProgramData\Microsoft\Windows\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Corel
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Subversion
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Everything
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=AliWangWang
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=aliwangwangData
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Blueberry
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Maxthon5
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Visual Studio Setup
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=npm-cache
set dir=%appdata%\%name%
set target=D:\User\AppData\Roaming\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

:: ------------------------------------------------------------------

set name=.nuget
set dir=%USERPROFILE%\%name%
set target=D:\User\USERPROFILE\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
) else (
	move "%dir%" "%USERPROFILE%\.bakfile\%name%"
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul
attrib +H /l "%dir%">nul 2>nul

set name=.config
set dir=%USERPROFILE%\%name%
set target=D:\User\USERPROFILE\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
) else (
	move "%dir%" "%USERPROFILE%\.bakfile\%name%"
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul
attrib +H /l "%dir%">nul 2>nul

set name=.docker
set dir=%USERPROFILE%\%name%
set target=D:\User\USERPROFILE\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
) else (
	move "%dir%" "%USERPROFILE%\.bakfile\%name%"
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul
attrib +H /l "%dir%">nul 2>nul

set name=.dotnet
set dir=%USERPROFILE%\%name%
set target=D:\User\USERPROFILE\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
) else (
	move "%dir%" "%USERPROFILE%\.bakfile\%name%"
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul
attrib +H /l "%dir%">nul 2>nul

set name=.eclipse
set dir=%USERPROFILE%\%name%
set target=D:\User\USERPROFILE\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
) else (
	move "%dir%" "%USERPROFILE%\.bakfile\%name%"
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul
attrib +R /l "%dir%">nul 2>nul

set name=.m2
set dir=%USERPROFILE%\%name%
set target=D:\User\USERPROFILE\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul
attrib +R /l "%dir%">nul 2>nul

set name=.cache
set dir=%USERPROFILE%\%name%
set target=D:\User\USERPROFILE\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
) else (
	move "%dir%" "%USERPROFILE%\.bakfile\%name%"
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul
attrib +R /l "%dir%">nul 2>nul

set name=.xdman
set dir=%USERPROFILE%\%name%
set target=D:\User\USERPROFILE\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
) else (
	move "%dir%" "%USERPROFILE%\.bakfile\%name%"
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul
attrib +R /l "%dir%">nul 2>nul

set name=.templateengine
set dir=%USERPROFILE%\%name%
set target=D:\User\USERPROFILE\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
) else (
	move "%dir%" "%USERPROFILE%\.bakfile\%name%"
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul
attrib +R /l "%dir%">nul 2>nul

set name=.translation
set dir=%USERPROFILE%\%name%
set target=D:\User\USERPROFILE\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
) else (
	move "%dir%" "%USERPROFILE%\.bakfile\%name%"
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul
attrib +R /l "%dir%">nul 2>nul

set name=.jude
set dir=%USERPROFILE%\%name%
set target=D:\User\USERPROFILE\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
) else (
	move "%dir%" "%USERPROFILE%\.bakfile\%name%"
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul
attrib +R /l "%dir%">nul 2>nul

set name=.android
set dir=%USERPROFILE%\%name%
set target=D:\User\USERPROFILE\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
) else (
	move "%dir%" "%USERPROFILE%\.bakfile\%name%"
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul
attrib +R /l "%dir%">nul 2>nul

set name=.librarymanager
set dir=%USERPROFILE%\%name%
set target=D:\User\USERPROFILE\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
) else (
	move "%dir%" "%USERPROFILE%\.bakfile\%name%"
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul
attrib +R /l "%dir%">nul 2>nul

set name=.pulse
set dir=%USERPROFILE%\%name%
set target=D:\User\USERPROFILE\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
) else (
	move "%dir%" "%USERPROFILE%\.bakfile\%name%"
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul
attrib +R /l "%dir%">nul 2>nul


:: -----------------------------------------------------------

set name=WslMgr
set dir=C:\PortableSoft\%name%
set target=D:\User\Soft\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
)
echo 正在移动 %dir%
robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul
attrib +R /l "%dir%">nul 2>nul

set name=XnView
set dir=C:\PortableSoft\%name%
set target=D:\User\Soft\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul
attrib +R /l "%dir%">nul 2>nul

set name=NodeJs
set dir=C:\PortableSoft\%name%
set target=D:\User\Soft\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul
attrib +R /l "%dir%">nul 2>nul
setx NODE_PATH %target%\node_modules /m>nul

set name=QQ
set dir=C:\PortableSoft\%name%
set target=D:\User\Soft\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul
attrib +R /l "%dir%">nul 2>nul

set name=WeChat
set dir=C:\PortableSoft\%name%
set target=D:\User\Soft\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul
attrib +R /l "%dir%">nul 2>nul

set name=Figma
set dir=C:\PortableSoft\%name%
set target=D:\User\Soft\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul
attrib +R /l "%dir%">nul 2>nul

set name=ThunderGreen
set dir=C:\PortableSoft\%name%
set target=D:\User\Soft\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul
attrib +R /l "%dir%">nul 2>nul

set name=PacSettings
set dir=C:\PortableSoft\%name%
set target=D:\User\Soft\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul
attrib +R /l "%dir%">nul 2>nul

:: set name=Chrome
:: set dir=C:\PortableSoft\%name%
:: set target=D:\User\Soft\%name%
:: if not exist "%target%" (
:: 	mkdir "%target%">nul 2>nul
:: 	echo 正在移动 %dir%
:: 	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
:: )
:: echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
:: mkdir "%dir%">nul 2>nul
:: rd /s /q "%dir%" >nul 2>nul
:: mklink /h /j "%dir%" "%target%">nul
:: attrib +R /l "%dir%">nul 2>nul

:: ------------------------------------------------------------------

set name=wangxian
set dir=%USERPROFILE%\AppData\LocalLow\%name%
set target=D:\User\AppData\LocalLow\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Sun
set dir=%USERPROFILE%\AppData\LocalLow\%name%
set target=D:\User\AppData\LocalLow\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul

set name=Temp
set dir=%USERPROFILE%\AppData\LocalLow\%name%
set target=D:\User\AppData\LocalLow\%name%
if not exist "%target%" (
	mkdir "%target%">nul 2>nul
	echo 正在移动 %dir%
	robocopy "%dir%" "%target%" /E /COPYALL /MOVE>nul||echo    移动至 %target% 失败 
)
echo y|(cacls %target% /t /c /g Everyone:F)>nul 2>nul
mkdir "%dir%">nul 2>nul
rd /s /q "%dir%" >nul 2>nul
mklink /h /j "%dir%" "%target%">nul


:: -------------------------------------------------

del /f /q D:\User\Desktop\转移频繁读写目录到D盘.bat
rd /s /q D:\User\Data>nul 2>nul
rd /s /q D:\User\Setup>nul 2>nul
rd /s /q D:\User\Studio>nul 2>nul

rem 重启 explorer.exe
taskkill /im explorer.exe /f>nul 2>nul
start "" explorer
pause
cls
echo.
echo.
echo.
echo 全部文件转移成功
echo.
echo.
echo.
echo.
pause
:end

takeown + icacls 就行了(用的时候小心别把一些系统目录的权限改了)