IT天空

 找回密码
 加入我们

手机号码,快捷登录

搜索

[讨论] 关于封装时用批理转移用户文件的方法

[复制链接]
jxyxhyb 发表于 2023-3-27 23:33:56 | 显示全部楼层 |阅读模式

IT天空 定制版高速U盘 128G | 固态U盘 256G Pro/512G Pro
本帖最后由 jxyxhyb 于 2023-3-28 13:04 编辑

我在封装win10及11系统时,想要将用户文件转移至D:\BACKUP 目录下时,试过好几种方式,都达不到我想要的要求。总遇到各种
各样的问题。后来记起以前封装xp,win7时有个不知名作者的批处理文件,好像挺好用,能达到我的要求,所以四处找到下。找不
到了,后面还是翻到我以前封装的xp包里找到了。提取出来,试了一下,还是没能满足我的需求。决定改一下看看能不能达到 我的
需求。边改边试,最后勉强算成功了。现将成品发出来跟坛里大神讨论下,能不能帮我完善一下它。
尝试过用mklink的方式,发现在D盘如果存在同名文件夹时,会被改名成 ”同名文件夹_*******"的方式隐藏,原来的文件就看
不到了,每次还得去被隐藏的文件夹里复制文件回来,很烦人!我的需求:
1,部署进桌面后,调用批处理 将"C:\Users\Administrator" 目录下
"C:\Users\Administrator\3D Objects"
"C:\Users\Administrator\OneDrive"
"C:\Users\Administrator\Saved Games"
"C:\Users\Administrator\Contacts"
"C:\Users\Administrator\Links"
"C:\Users\Administrator\Videos"
"C:\Users\Administrator\Favorites"
"C:\Users\Administrator\Searches"
"C:\Users\Administrator\Pictures"
"C:\Users\Administrator\Documents"
"C:\Users\Administrator\Downloads"
"C:\Users\Administrator\Music"
"C:\Users\Administrator\Desktop"
将这个几文件用批处理 转移至 D:\BACKUP 文件夹,且“C:\Users\Administrator ”下其它的文件及文件夹不转移,
2,当D盘有相同D:\BACKUP目录时,就合并进同一目录,且当同名文件下有相同文件时,进行覆盖。
3,只转移这几个文件夹,其它的比如“C:\Users\Administrator\Appdata” 和链接文件,及NTUSE* 类的文件不转移过去。
4,转移文件后,保留各文件夹原有的图标,且D:\BACKUP文件夹能加上个性图标,
比如这个->IconResource=C:\Windows\system32\imageres.dll,117。
D:\BACKUP文件夹用中文“用户”显示,但原有D:\BACKUP路径不变。
5,修注册表,
“HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders”
“HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"
将各文件夹的路径指向各个文件夹
示例:非原创-改他的,感谢原作者
@echo off
::------------------------------------------ 自动提升运行权限 ---------------------------------------::
>nul 2>&1 REG.exe query "HKU\S-1-5-19" || (
    ECHO SET UAC = CreateObject^("Shell.Application"^) > "%TEMP%\Getadmin.vbs"
    ECHO UAC.ShellExecute "%~f0", "%1", "", "runas", 1 >> "%TEMP%\Getadmin.vbs"
    "%TEMP%\Getadmin.vbs"
    DEL /f /q "%TEMP%\Getadmin.vbs" 2>nul
    Exit /b
)
::--------------------------------------------------------------------------------------------------::
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:\Backup"
robocopy C:\Users\Administrator "%Users%" /COPYALL /XJ /XD "C:\Users\Administrator\AppData" /XF ntuse*
cd /d "%Users%
cmd /u /c echo IconResource=C:\Windows\system32\imageres.dll,117 >>desktop.ini
rem 移动原 桌面
for /f "tokens=2,*" %%i in ('reg query "%SF%" /v "Desktop"') do set Desktop=%%j
if /i "%Desktop%" NEQ "%Users%\Desktop" robocopy  "%Desktop%" "%Users%\Desktop" /E /COPYALL /XJ /MOVE
rem 移动原 收藏夹
for /f "tokens=2,*" %%i in ('reg query "%SF%" /v "Favorites"') do set Favorites=%%j
if /i "%Favorites%" NEQ "%Users%\Favorites" robocopy  "%Favorites%" "%Users%\Favorites" /E /COPYALL /XJ /MOVE
rem 移动原 视频
for /f "tokens=3,*" %%i in ('reg query "%SF%" /v "My Video"') do set Videos=%%j
if /i "%Videos%" NEQ "%Users%\Videos" robocopy  "%Videos%" "%Users%\Videos" /E /COPYALL /XJ /MOVE
rem 移动原 我的音乐
for /f "tokens=3,*" %%i in ('reg query "%SF%" /v "My Music"') do set Music=%%j
if /i "%Music%" NEQ "%Users%\Music" robocopy  "%Music%" "%Users%\Music" /E /COPYALL /XJ /MOVE
rem 移动原 我的图片
for /f "tokens=3,*" %%i in ('reg query "%SF%" /v "My Pictures"') do set Pictures=%%j
if /i "%Pictures%" NEQ "%Users%\Pictures" robocopy  "%Pictures%" "%Users%\Pictures" /E /COPYALL /XJ /MOVE
rem 移动原 下载
for /f "tokens=2,*" %%i in ('reg query "%SF%" /v "{374DE290-123F-4565-9164-39C4925E467B}"') do set Downloads=%%j
if /i "%Downloads%" NEQ "%Users%\Downloads" robocopy  "%Downloads%" "%Users%\Downloads" /E /COPYALL /XJ /MOVE
rem 移动原 保存的游戏
for /f "tokens=2,*" %%i in ('reg query "%SF%" /v "{4C5C32FF-BB9D-43B0-B5B4-2D72E54EAAA4}"') do set Games=%%j
if /i "%Games%" NEQ "%Users%\Saved Games" robocopy  "%Games%" "%Users%\Saved Games" /E /COPYALL /XJ /MOVE
rem 移动原 联系人
for /f "tokens=2,*" %%i in ('reg query "%SF%" /v "{56784854-C6CB-462B-8169-88E350ACB882}"') do set Contacts=%%j
if /i "%Contacts%" NEQ "%Users%\Contacts" robocopy  "%Contacts%" "%Users%\Contacts" /E /COPYALL /XJ /MOVE
rem 移动原 搜索
for /f "tokens=2,*" %%i in ('reg query "%SF%" /v "{7D1D3A04-DEBB-4115-95CF-2F29DA2920DA}"') do set Searches=%%j
if /i "%Searches%" NEQ "%Users%\Searches" robocopy  "%Searches%" "%Users%\Searches" /E /COPYALL /XJ /MOVE
rem 移动原 链接
for /f "tokens=2,*" %%i in ('reg query "%SF%" /v "{BFB9D5E0-C6A9-404C-B2B2-AE6DB6AF4968}"') do set Links=%%j
if /i "%Links%" NEQ "%Users%\Links" robocopy  "%Links%" "%Users%\Links" /E /COPYALL /XJ /MOVE
rem 移动原 我的文档
for /f "tokens=2,*" %%i in ('reg query "%SF%" /v "Personal"') do set Documents=%%j
if /i "%Documents%" NEQ "%Users%\Documents" robocopy  "%Documents%" "%Users%\Documents" /E /COPYALL /XJ /MOVE
rem 移动原 3D 对象
for /f "tokens=2,*" %%i in ('reg query "%USF%" /v "{31C0DD25-9439-4F12-BF41-7FF4EDA38722}"') do set Objects=%%j
if /i "%Objects%" NEQ "%Users%\3D Objects" robocopy  "%Objects%" "%Users%\3D Objects" /E /COPYALL /XJ /MOVE
rem 移动原 OneDrive
for /f "tokens=2,*" %%i in ('reg query "%USF%" /v "{A52BBA46-E9E1-435F-B3D9-28DAA648C0F6}"') do set OneDrive=%%j
if /i "%OneDrive%" NEQ "%Users%\OneDrive" robocopy  "%OneDrive%" "%Users%\OneDrive" /E /COPYALL /XJ /MOVE
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 "{374DE290-123F-4565-9164-39C4925E467B}" /T REG_SZ /D "%Users%\Downloads"
REG ADD "%SF%" /F /V "{4C5C32FF-BB9D-43B0-B5B4-2D72E54EAAA4}" /T REG_SZ /D "%Users%\Saved Games"
REG ADD "%SF%" /F /V "{56784854-C6CB-462B-8169-88E350ACB882}" /T REG_SZ /D "%Users%\Contacts"
REG ADD "%SF%" /F /V "{7D1D3A04-DEBB-4115-95CF-2F29DA2920DA}" /T REG_SZ /D "%Users%\Searches"
REG ADD "%SF%" /F /V "{BFB9D5E0-C6A9-404C-B2B2-AE6DB6AF4968}" /T REG_SZ /D "%Users%\Links"
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 "{F42EE2D3-909F-4907-8871-4C22FC0BF756}" /T REG_EXPAND_SZ /D "%Users%\Documents"
REG ADD "%USF%" /F /V "{374DE290-123F-4565-9164-39C4925E467B}" /T REG_EXPAND_SZ /D "%Users%\Downloads"
REG ADD "%USF%" /F /V "{4C5C32FF-BB9D-43B0-B5B4-2D72E54EAAA4}" /T REG_EXPAND_SZ /D "%Users%\Saved Games"
REG ADD "%USF%" /F /V "{56784854-C6CB-462B-8169-88E350ACB882}" /T REG_EXPAND_SZ /D "%Users%\Contacts"
REG ADD "%USF%" /F /V "{7D1D3A04-DEBB-4115-95CF-2F29DA2920DA}" /T REG_EXPAND_SZ /D "%Users%\Searches"
REG ADD "%USF%" /F /V "{BFB9D5E0-C6A9-404C-B2B2-AE6DB6AF4968}" /T REG_EXPAND_SZ /D "%Users%\Links"
REG ADD "%USF%" /F /V "{31C0DD25-9439-4F12-BF41-7FF4EDA38722}" /T REG_EXPAND_SZ /D "%Users%\3D Objects"
REG ADD "%USF%" /F /V "{A52BBA46-E9E1-435F-B3D9-28DAA648C0F6}" /T REG_EXPAND_SZ /D "%Users%\OneDrive"
rem 重启 explorer.exe
taskkill /im explorer.exe /f
start "" explorer

使用这个批处理后,基本满足需求,功能一切正常。使用是没有问题的。但有几个不足的地方,
1,部分丢失文件夹个性图标的问题(问题不大,已修复)
2,"D:\BACKUP" 未能加上个性图标,不能用中文”用户“显示。我在想是不是要用desktop.ini的方式加上去。
3,资源管理器的七个文件夹,也就是打开此电脑后,盘符上面的几个文件夹的路径仍是"C:\Users\Administrator“
虽然不影响正常使用,我也可以用注册表删了这几个障眼的”家伙“,眼不见,心不烦。但这个小问题特烦人。很想搞定它。
4, 三个文件夹"3D Objects"    "OneDrive"   "Documents" 已复制转移至D盘,
但 C:\Administrator 仍有残留文件夹的问题、 分析了下,当注册表里没有3D Objects 和 OneDrive的值时,
会发生这种情况(已修复,修复方法是预导入3D Objects 和 OneDrive的注册表的值)
如下
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
"{A52BBA46-E9E1-435F-B3D9-28DAA648C0F6}"=hex(2):43,00,3a,00,5c,00,55,00,73,00,\
  65,00,72,00,73,00,5c,00,41,00,64,00,6d,00,69,00,6e,00,69,00,73,00,74,00,72,\
  00,61,00,74,00,6f,00,72,00,5c,00,4f,00,6e,00,65,00,44,00,72,00,69,00,76,00,\
  65,00,00,00
"{31C0DD25-9439-4F12-BF41-7FF4EDA38722}"=hex(2):43,00,3a,00,5c,00,55,00,73,00,\
  65,00,72,00,73,00,5c,00,41,00,64,00,6d,00,69,00,6e,00,69,00,73,00,74,00,72,\
  00,61,00,74,00,6f,00,72,00,5c,00,33,00,44,00,20,00,4f,00,62,00,6a,00,65,00,\
  63,00,74,00,73,00,00,00
将以上内容保留为reg文件,在调用批处理前用 regedit /导入,可以修复3D Objects"    "OneDrive" 残留文件夹的问。
也可以在批处理执行移动原文*件前,用REG add先 导入注册表。
5”Documents“残留的原因,暂时还不确定。
(已修复:原因是HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders有两个Documents值)
解决方法:
在原来值上,再加上这个注册表值
REG ADD "%USF%" /F /V "{F42EE2D3-909F-4907-8871-4C22FC0BF756}" /T REG_EXPAND_SZ /D "%Users%\Documents"
以上描述不知是否清晰明了?请各位大神帮忙改进。
现在只剩下1个问题了
3,资源管理器的七个文件夹,也就是打开此电脑后,盘符上面的几个文件夹的路径仍是
"C:\Users\Administrator“ 正常使用没有任何问题,就是这几个文件夹图标看着障眼而已,这几个可以用注册表删除,删除后,看起来完美。
我心里还是想弄明白资源管理器的七个文件夹为什么还会显示原路径的原因。


修复了以上问题,完善后的批处理文件放在附件里下载


转移用户文件到D盘.rar

1.6 KB, 下载次数: 6, 下载积分: 活跃 -3 点

在部署中调用请改成英文名

最近访问 头像模式 列表模式
 楼主| jxyxhyb 发表于 2023-3-27 23:35:44 | 显示全部楼层

活跃 107| 技术 0| 互助 0| 钻石 0

还没写完呢,不小心发出去了。
qiuhh001 发表于 2023-3-28 08:47:53 | 显示全部楼层

活跃 12851| 技术 10| 互助 3| 钻石 30

1、我昨天手动修改“文档”地址并迁移数据,也碰到Documents残留的问题。究其原因,还是因为Documents里有文件被占用了。
2、本可以鼠标点几下的事情,结果让你整的脑细胞都不知道死了多少。。。。。

点评

现在的系统安装过程之所以变得简单了,就是因为有许多人写好的程序,才变得简单,方便,快捷嘛  详情 回复 发表于 2023-3-28 10:12
 楼主| jxyxhyb 发表于 2023-3-28 10:12:23 | 显示全部楼层

活跃 107| 技术 0| 互助 0| 钻石 0

本帖最后由 jxyxhyb 于 2023-3-28 10:53 编辑
qiuhh001 发表于 2023-3-28 08:47
1、我昨天手动修改“文档”地址并迁移数据,也碰到Documents残留的问题。究其原因,还是因为Documents里有 ...

现在的系统安装过程之所以变得简单了,就是因为有许多人写好的程序,才变得简单,方便,快捷嘛。 其实你要是手动转移 这几个文件夹,方法很简单,直接选中这几个文件夹,剪切,复制到你想要的目录里就可以了
小透明 发表于 2023-3-31 02:42:13 | 显示全部楼层

活跃 5228| 技术 11| 互助 5| 钻石 0

我比较懒狗,注册表\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList下的ProfilesDirectory键值记录了user目录的位置(新开用户目录),我一般喜欢提前在这移位置。。
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

jxyxhyb

107

活跃

0

技术

0

互助
签到任务
最火的业界新闻
  • 联发科天玑9300 GPU性能惊喜:实测完胜苹果
  • Intel 14代酷睿暗藏2个超小核心:有妙用!
  • Intel 15代酷睿上台积电3nm 性能或暴涨75%
  • CPU、GPU首次合体 AMD年底拿出大杀器MI300
  • i5/i7/i9再见!Intel年度新品发布会定档:1
  • Arm发布Corte-X4/A720/520 CPU架构:淘汰32
  • 游戏不再挤牙膏 Arm发布G720 GPU:节省40%
  • Intel公布全新架构x86S!纯64位模式运行:
  • 骁龙8G5要上1.8nm工艺?高通表态愿意使用In
  • 全球第一款192核心CPU诞生!如此对比AMD/In
炫酷的硬件Show
  • MARK 1 - 设计型 PC 与垂直风道
  • 好的大王,没问题大王
  • 振华SUPER FLOWER 铜皇450W 铜牌电源
  • 比小更小,Mini-STX装机
  • 华擎X99E-ITX + 银欣ML06 装机记
  • 最强双路泰坦硬管水冷 制作流程
  • 银欣FT02,双路E5工作站
  • 迟到的定制机箱小钢炮清理灰尘
  • 乔思伯UMX1 Plus,小巧的家用综合主机
  • 分体水冷第二弹-Inwin 805 infinity
有趣的美图分享
  • 这谁受得了?
  • 完全体
  • 佛祖排名999+
  • 本人be like
  • 大夫,我啥时候能变回人形啊
  • Stable Diffusion
  • 绝杀
  • 上教科书!
  • 不如板凳
  • 对机器人有攻击加成吗
关注官方微信
快速回复 返回顶部 返回列表