无忧启动论坛

 找回密码
 注册
搜索

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

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

正文摘要:

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

回复

奈绪 发表于 前天 16:19
非常实用的工具,装机必备工具,谢谢楼主分享。
chsh02 发表于 前天 16:14
很给力
denslin 发表于 前天 16:05
感谢楼主分享!
pattonme 发表于 前天 11:47
谢谢分享!!
liguibin 发表于 前天 11:22
win11运行无反应
jjhtya 发表于 2025-5-31 00:34:00
谢谢分享
yebooo 发表于 2025-5-30 14:31:35
感谢楼主分享
hjkerty 发表于 2025-5-30 13:50:11
感谢楼主分享!
zts59 发表于 2025-5-30 13:41:40
有一个缺点,会在程序所在文件夹生成一个隐藏的文件夹
银狼驰骋 发表于 2025-5-30 13:19:43
出来了再顶一下
奈绪 发表于 2025-5-30 10:49:07
非常好用的小工具,谢谢分享。
yuan71058 发表于 2025-4-29 13:27:30
感谢楼主分享!
wangjf 发表于 2025-1-13 07:56:05
mtv01 发表于 2024-11-30 05:25
PowerShell 脚本,该脚本首先计算 Documents 文件夹的大小,如果大小超过 1GB,则使用 robocopy 命令将其迁 ...

点赞,又多一个思路
家驹 发表于 2024-12-2 17:04:30
谢谢分享!
mtv01 发表于 2024-11-30 05:25:24
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 盘)有足够的空间来存放移动的文件。
数据安全:在执行任何文件操作前,建议先备份数据,避免丢失重要文件。

点评

点赞,又多一个思路  详情 回复 发表于 2025-1-13 07:56
egaokiss 发表于 2024-11-29 08:08:14
感谢分享,您辛苦了。
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

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

闽公网安备 35020302032614号

GMT+8, 2025-7-21 01:25

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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