我需要用各种类型的文件填充一堆文件夹。目标文件夹结构如下
年份 > 委员会名称 年份 > 年份 月份 委员会名称
例如: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
捕获组是
- 文件名 $matches[0]
- 月 $matches[1]
- 日 $matches[2]
- 年 $matches[3]
- 组 $matches[4]
目前我能给你的最好答案是,你可能需要在 Windows 7.1 上安装 powershell