起因

由于Win11抽风,OneDrive自动同步,导致今天打开电脑,桌面上出现了很多以前账号的旧文件,同时导致Windows桌面文件夹路径发生改变,变成在OneDrive文件夹下。

解决

将OneDrive卸载后,将文件夹移除到原位置或删除。发现桌面文件夹名字在路径中不会自动变成英文。于是在网上寻找解决方案,发现了文件夹修复脚本,可以将文件夹路径改成英文且显示中文,还能创建误删的文件夹。(修复过后需要将原来的文件夹的内容手动移到新文件夹中。)

.bat程序代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
@echo off
title 常见特殊文件夹修复工具
cd /d “%~dp0”
:begin
cls
echo ****************************************
echo.
echo 请选择要修复的特殊文件夹
echo.
echo [1] 桌面 [2] 图片 [3] 视频
echo [4] 文档 [5] 下载 [6] 音乐
echo [7] 3D 对象 [8] Roaming [0] 退出
echo.
echo _________________________________________
echo.
set /p num=请输入你的选择(0-8):
if "%num%"=="1" goto zm
if "%num%"=="2" goto tp
if "%num%"=="3" goto sp
if "%num%"=="4" goto wd
if "%num%"=="5" goto xz
if "%num%"=="6" goto yy
if "%num%"=="7" goto 3d
if "%num%"=="8" goto rm
if "%num%"=="0" goto tc
goto begin

:zm
set folder="桌面"
set ini="desktop"
set name="Desktop"
set value="%USERPROFILE%\Desktop"
set valueex="%%USERPROFILE%%\Desktop"
set clsid="{754AC886-DF64-4CBA-86B5-F7FBF4FBCEF5}"
call :fixsub
echo.&pause&goto begin

:tp
set folder="图片"
set ini="Pictures"
set name="My Pictures"
set value="%USERPROFILE%\Pictures"
set valueex="%%USERPROFILE%%\Pictures"
set clsid="{0DDD015D-B06C-45D5-8C4C-F59713854639}"
call :fixsub
echo.&pause&goto begin

:sp
set folder="视频"
set ini="Videos"
set name="My Video"
set value="%USERPROFILE%\Videos"
set valueex="%%USERPROFILE%%\Videos"
set clsid="{35286A68-3C57-41A1-BBB1-0EAE73D76C95}"
call :fixsub
echo.&pause&goto begin

:wd
set folder="文档"
set ini="Documents"
set name="Personal"
set value="%USERPROFILE%\Documents"
set valueex="%%USERPROFILE%%\Documents"
set clsid="{F42EE2D3-909F-4907-8871-4C22FC0BF756}"
call :fixsub
echo.&pause&goto begin

:xz
set folder="下载"
set ini="Downloads"
set name="{374DE290-123F-4565-9164-39C4925E467B}"
set value="%USERPROFILE%\Downloads"
set valueex="%%USERPROFILE%%\Downloads"
set clsid="{7d83ee9b-2244-4e70-b1f5-5393042af1e4}"
call :fixsub
echo.&pause&goto begin

:yy
set folder="音乐"
set ini="Music"
set name="My Music"
set value="%USERPROFILE%\Music"
set valueex="%%USERPROFILE%%\Music"
set clsid="{A0C69A99-21C8-4671-8703-7934162FCF1D}"
call :fixsub
echo.&pause&goto begin

:3d
set folder="3D 对象"
set ini="3D Objects"
set name="{31C0DD25-9439-4F12-BF41-7FF4EDA38722}"
set value="%USERPROFILE%\3D Objects"
set valueex="%%USERPROFILE%%\3D Objects"
set clsid=""
call :fixsub
echo.&pause&goto begin

:rm
set folder="Roaming"
set ini=""
set name="AppData"
set value="%USERPROFILE%\AppData\Roaming"
set valueex="%%USERPROFILE%%\AppData\Roaming"
set clsid=""
reg add "HKEY_CURRENT_USER\Volatile Environment" /v %name% /t reg_sz /d %value% /f
call :fixsub
echo.&pause&goto begin

:tc
exit

:fixsub
echo.
echo 修复%folder%文件夹
echo.
echo 结束桌面进程...
taskkill /f /im explorer.exe
echo.
echo 创建文件夹%value%...
mkdir %value%
echo.
if %ini% neq "" (
echo 修复desktop.ini文件...
attrib -s -h -r -a %value%\desktop.ini
echo y | xcopy %ini%\desktop.ini %value%\ /-Y /A /H
attrib +s +h +a %value%\desktop.ini
attrib +r %value%
echo.
)
echo 修复Shell Folders下%name%的路径...
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v %name% /t reg_sz /d %value% /f
echo.
echo 修复User Shell Folders下%name%的路径...
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v %name% /t reg_expand_sz /d %valueex% /f
echo.
if %clsid% neq "" (
echo 删除User Shell Folders下的%clsid%...
reg delete "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v %clsid% /f 2>nul
)
echo.
echo 重启桌面进程...
start explorer.exe
echo.
goto :eof