无忧启动论坛

 找回密码
 注册
搜索

【2024.7.14更新】修复bug《资料与文件夹转移工具 V5.2.3》

查看数: 26076 | 评论数: 434 | 收藏 103
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2024-4-9 17:42

正文摘要:

本帖最后由 zlq_hysy 于 2024-7-14 22:37 编辑 2024.7.14:V5.2.3  修复Appdata复制或转移后,启动系统跳desktop.ini文件问题, 谢谢nspzm。就用户2275385864在快选中添加中文的“我的文档”  &nb ...

回复

家驹 发表于 5 小时前
谢谢分享!
mtv01 发表于 前天 05:25
PowerShell 脚本,该脚本首先计算 Documents 文件夹的大小,如果大小超过 1GB,则使用 robocopy 命令将其迁移到新位置,可以按照以下步骤进行:

脚本概述
获取文件夹大小:计算 Documents 文件夹的总大小。
判断大小:如果 Documents 文件夹的大小超过 1GB,则执行迁移操作。
迁移文件夹:使用 robocopy 命令将文件夹内容迁移到新的位置。
PowerShell 脚本
powershell
# 获取当前用户名
$userName = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name.Split("\")[1]

# 定义 Documents 文件夹的路径
$documentsPath = "C:\Users\$userName\Documents"

# 获取文件夹大小
$folderSize = 0
Get-ChildItem -Path $documentsPath -Recurse | ForEach-Object {
    # 如果是文件,累加文件大小
    if ($_ -is [System.IO.FileInfo]) {
        $folderSize += $_.Length
    }
}

# 转换文件夹大小为 GB
$folderSizeGB = [math]::Round($folderSize / 1GB, 2)

# 输出文件夹大小
Write-Host "Documents 文件夹的大小为:$folderSizeGB GB"

# 如果文件夹大小超过 1GB,则使用 robocopy 迁移文件夹
if ($folderSizeGB -gt 1) {
    # 定义新的目标位置
    $newLocation = "D:\Documents"

    # 如果目标文件夹不存在,则创建它
    if (-Not (Test-Path -Path $newLocation)) {
        New-Item -ItemType Directory -Path $newLocation
    }

    # 使用 robocopy 迁移文件夹内容
    Write-Host "迁移 Documents 文件夹到新位置:$newLocation"
    robocopy $documentsPath $newLocation /E /Z /COPYALL /R:3 /W:5

    # 移动文件夹成功后,删除源文件夹(可选)
    # Remove-Item -Path $documentsPath -Recurse -Force

    # 更新注册表,修改默认文件夹位置
    $regKey = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"
    Set-ItemProperty -Path $regKey -Name "Personal" -Value "$newLocation"

    # 可选:重新启动资源管理器,使更改生效
    Stop-Process -Name explorer
    Start-Process explorer
} else {
    Write-Host "Documents 文件夹的大小没有超过 1GB,跳过迁移。"
}
详细步骤
获取当前用户名:我们使用 [System.Security.Principal.WindowsIdentity]::GetCurrent().Name.Split("\")[1] 获取当前用户的用户名。
计算文件夹大小:
使用 Get-ChildItem -Recurse 遍历 Documents 文件夹中的所有文件。
累加每个文件的大小,最终得出文件夹总大小。
将文件大小从字节转换为 GB(使用 1GB = 1,073,741,824 字节)。
判断文件夹大小:如果文件夹大小大于 1GB,脚本继续执行迁移。
使用 robocopy 迁移文件夹:
robocopy 是一个高效的文件复制工具,它支持断点续传、复制文件属性等。这里使用 /E 选项递归复制所有子文件夹,/Z 启用可恢复模式,/COPYALL 复制所有文件属性,/R:3 重试次数为 3,/W:5 每次重试等待 5 秒。
更新注册表:
通过修改注册表的 User Shell Folders 键,更新 Documents 文件夹的新路径。这一步是为了让 Windows 知道新文件夹位置。
重新启动资源管理器:为确保路径更新生效,我们重启 Windows 资源管理器。
其他说明
robocopy 参数:

/E: 复制子目录(包括空目录)。
/Z: 启用可恢复模式(断点续传)。
/COPYALL: 复制所有文件属性(包括时间戳、权限等)。
/R:3: 重试 3 次(如果复制过程中发生错误)。
/W:5: 每次重试等待 5 秒。
删除源文件夹(可选):在迁移完成后,您可以选择删除源文件夹。取消注释 Remove-Item -Path $documentsPath -Recurse -Force 即可启用此功能。

示例输出
plaintext
Documents 文件夹的大小为:1.25 GB
迁移 Documents 文件夹到新位置:D:\Documents
注意事项
管理员权限:如果要修改注册表或移动系统文件夹,确保以管理员权限运行 PowerShell。
目标路径:确保目标驱动器(例如 D 盘)有足够的空间来存放移动的文件。
数据安全:在执行任何文件操作前,建议先备份数据,避免丢失重要文件。
egaokiss 发表于 3 天前
感谢分享,您辛苦了。
b402012 发表于 2024-10-31 10:30:46
感谢楼主分享!
mengxiangdao 发表于 2024-10-31 10:24:21
原创工具很好
Jslong 发表于 2024-10-27 16:18:28
这个装机时很有用,谢了
wn168cn@163.com 发表于 2024-10-21 19:17:48
感谢分享 试用下 重装系统很有用
jy00172545 发表于 2024-8-28 09:46:56
很完善,感谢分享.
zlq_hysy 发表于 2024-8-28 09:45:04
chenshipeng 发表于 2024-8-27 23:25
您误解我意思了,我意思是默认的路径要嘛可以修改,要嘛把win10去了

哦,明白了
chenshipeng 发表于 2024-8-27 23:25:49
zlq_hysy 发表于 2024-8-25 12:14
可以勾掉的。最后三项默认是不使用的。

您误解我意思了,我意思是默认的路径要嘛可以修改,要嘛把win10去了

点评

哦,明白了  详情 回复 发表于 2024-8-28 09:45
zlq_hysy 发表于 2024-8-26 16:16:25
j4tan 发表于 2024-8-26 16:10
今天有空测试新装了个win11然后用这个工具转移,个人文件夹里面只显示收藏夹、桌面、OneDrive
重装之前把U ...

哈哈,工具主要的功能就是修改User Shell Folders键值的。高手可以自己修改的。桌面上的用户文件夹不知在哪里修改。
j4tan 发表于 2024-8-26 16:10:21
今天有空测试新装了个win11然后用这个工具转移,个人文件夹里面只显示收藏夹、桌面、OneDrive
重装之前把User Shell Folders右边所有对应的字符串值都备份,重装后不用工具做任何迁移,直接双击导入备份的注册表,个人文件夹里面所有的文档、图片、音乐之类的就都全部显示出来了。实测Shell Folders的键值可以忽略,貌似会自己跟着User Shell Folders项值修正。

点评

哈哈,工具主要的功能就是修改User Shell Folders键值的。高手可以自己修改的。桌面上的用户文件夹不知在哪里修改。  详情 回复 发表于 2024-8-26 16:16
snihwfn 发表于 2024-8-25 13:45:42
感谢楼主,马上下载收藏,西部虎那边微博才更新到5.21。
渝垫老 发表于 2024-8-25 13:22:41
感谢楼主的分享啊
八叶伞 发表于 2024-8-25 12:57:41
感谢分享,挺好。
zero5156 发表于 2024-8-25 12:15:08

很不错的软件谢谢分享
zlq_hysy 发表于 2024-8-25 12:14:41
chenshipeng 发表于 2024-8-25 12:12
感谢分享了,最后三项加个Win10路径,不太合适,修改ini文件也不行,建议去掉哈

可以勾掉的。最后三项默认是不使用的。

点评

您误解我意思了,我意思是默认的路径要嘛可以修改,要嘛把win10去了  详情 回复 发表于 2024-8-27 23:25
chenshipeng 发表于 2024-8-25 12:12:57
感谢分享了,最后三项加个Win10路径,不太合适,修改ini文件也不行,建议去掉哈

点评

可以勾掉的。最后三项默认是不使用的。  详情 回复 发表于 2024-8-25 12:14
zlq_hysy 发表于 2024-8-25 11:53:15
j4tan 发表于 2024-8-25 11:43
另外反馈两个小BUG,一个已经在您资料文件夹转移工具2.0版下面反馈了,另外还有个BUG测试发现,转移资料时 ...

谢谢反馈,我查查原因
j4tan 发表于 2024-8-25 11:43:23
另外反馈两个小BUG,一个已经在您资料文件夹转移工具2.0版下面反馈了,另外还有个BUG测试发现,转移资料时候如果选择仅改变目录,如果Documents文件夹下面本身有文件夹和文件的话,转移完的Documents目录下面也会出现一模一样的空文件夹(不包括文件)总容量是0KB,虽然不影响使用不过只有Documents是这样应该是个BUG

点评

谢谢反馈,我查查原因  详情 回复 发表于 2024-8-25 11:53
j4tan 发表于 2024-8-24 23:41:41
支持楼主原创,很实用的小工具,网上试用了几个要不有BUG要不功能不全,这个目前来说比较完美
江山晃晃 发表于 2024-8-17 16:28:46
感谢分享.
人生之际 发表于 2024-8-12 10:16:39
好东西,想不到升级到这个版本了,我都还在用V1.5
陌小寞 发表于 2024-8-9 16:28:04
感谢分享
liguibin 发表于 2024-8-9 15:52:09
谢谢分享
standme 发表于 2024-7-15 15:13:48
感谢分享。。。
yangjiafa 发表于 2024-7-15 15:03:23
期待完美谢谢分享
lrbin50 发表于 2024-7-15 14:33:32
要是能转移已有的C:\Program Files\WindowsApps 目录就好了。
lijian10234 发表于 2024-7-15 09:18:37
谢楼主分享!
gufeng51520 发表于 2024-7-13 16:05:24
很不错,正在用,谢谢分享

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-2 22:44

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表