需要将大量名称一致的文件移动到特定文件夹(Windows 7)

需要将大量名称一致的文件移动到特定文件夹(Windows 7)

我需要用各种类型的文件填充一堆文件夹。目标文件夹结构如下

年份 > 委员会名称 年份 > 年份 月份 委员会名称

例如:2015 > ADP 2015 > 2015 年 1 月 ADP

要移动的文件按委员会(MOM、ADP 等)存放在文件夹中。我必须先按年份整理,然后按委员会整理,再按月份整理。

每个文件夹包含按日期和委员会命名的各种类型的文件(例如:2015 年 1 月 22 日 ADP 会议的 Word 文档将是“012215ADP.doc”)。

我想以某种方式自动填充这些文件夹,因为有数百甚至数千个文件需要移动。我唯一的编程经验是 MATLAB,我很精通它,但由于公司规定,我不允许使用它。我知道如何执行和修改 .bat 文件,但对制作它们了解不够。

答案1

这只能通过 power shell 脚本和正则表达式来完成。

PS C:\Users\bongioc> dir | where {$_ -match "(\d{2})(\d{2})(\d{2})([A-Z]{3}).*.doc"} | foreach {move $matches[0] $matches[3]\\$matches[4]\\$matches[1] }

现在,我是一个 Linux 用户,我没有时间再去捏造这个,但是你的名字中的空格和你想要的事实

01 -> 一月

会使事情复杂化;您需要引用参数并逃避其他参数(并且在这个平台上我不确定如何做)如果您不坚持这种结构,您可以很容易地完成如下目录结构:

15/ADP/01/1501ADP.doc

捕获组是

  1. 文件名 $matches[0]
  2. 月 $matches[1]
  3. 日 $matches[2]
  4. 年 $matches[3]
  5. 组 $matches[4]

目前我能给你的最好答案是,你可能需要在 Windows 7.1 上安装 powershell

相关内容