使用匹配的文件名将文件移动到文件夹

使用匹配的文件名将文件移动到文件夹

我有 doc、docx 和 PDF 文件,其中文件名由一个唯一的 9 位数字和后跟文本组成。

我想将这些文件移动到它们各自的文件夹中,这些文件夹也至少包含唯一的 9 位数字,但可能包含不同的文本。

这些文件夹位于硬盘上的另一个文件夹中,但如果需要,我可以轻松地将文档移动到同一个父文件夹中。文件和文件夹名称是 123456789_Firstname_Lastname.docx 的组合。除了下划线,可能还有空格、逗号或根本没有空格。但可以肯定的是,文件和文件夹名称以 9 个数字开头。

我安装了 Python、Hazel 和 Directory Opus,如果需要,还可以安装任何其他程序以使此过程正常运行。有数千个文件,因此我非常希望得到解决方案。

答案1

虽然不是脚本编写服务,但是这个(未经测试的)PowerShell 应该可以帮助您入门:

$DestParent = 'C:\NumberedFolders'
Get-ChildItem *.txt, *.pdf | %{
   $ID = $_.BaseName.Substring(0,8)
   $Dest = (Get-Item "$destparent\$ID*").FullName
   Move-Item -Path $_.FullName -Destination $Dest
}

获取子项

ForEach 对象

String.Substring 方法

获取项目

移動項目

相关内容