批量重命名以截断和合并文件夹

杰森

我们迁移到OneDrive,其中一台计算机复制了文件夹,并将用户名添加到了文件夹的末尾,同时仍保留了该文件夹的某些部分。

现在我们剩下600个文件夹了。我们的基本文件夹在这里:

C:\ Users \ Jason \ OneDrive-公司文件\公司文件

在其中,我们拥有所有如下所示的项目文件夹

\(Job Name)\
\(Job Name)-Dave-HP\

甚至子文件夹也被击中

\(Job Name)\(Subfolder)
\(Job Name)-Dave-HP\(Subfolder)-Dave-HP

这两个文件夹中都有需要合并的数据。该脚本将需要合并文件夹并覆盖存在的所有重复文件。

任何人都有任何想法,而无需手动删除每个文件夹的结尾并让Explorer合并它们吗?运行Windows 10。

LotPings
## Q:\Test\2019\05\31\SU_1443421.ps1
$BaseDir = 'C:\' # 'A:\Test' # 
$Appendix= '-Dave-HP'

Get-ChildItem $BaseDir -Recurse -File | Where-Object Directory -Match $Appendix |
ForEach-Object{
    $DestDir = $_.Directory -Replace $Appendix
    if(!(Test-Path $DestDir -PathType Container)){MD $DestDir |Out-Null }
    $_ | Move-Item -Destination $DestDir\ -Force #-whatif
}

取消注释(删除#-WhatIf,首先检查PowerShell脚本将执行的操作。

完全改变了逻辑,脚本将保留空白目录并保留尾随$Appendix

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章