【发布时间】:2020-08-25 00:51:20
【问题描述】:
我有一个目录,我们称之为 C:\MoveFile 在这个目录中有数千个类似名称的文件
- 名称修改日期
- Dog_123123_Grey.doc 18/11/2015
- Dog_123123_Grey (2).doc 19/11/2015
- Dog_123123_Grey (3).doc 17/11/2015
- Cat_123123_Blue (3).doc 01/01/2015
- Cat_123123_Pink (6).doc 07/04/2015
- Cat_123123_Pink (7).doc 10/04/2015
现在,如果文件名中的版本号一致编号为 (2) 等,这将很容易,但是我想要做的是让 powershell 运行目录中的项目并根据日期移动最新的文件修改为新的文件位置,以便从提供的列表中包含新目录。
名称修改日期
- Dog_123123_Grey (2).doc 19/11/2015
- Cat_123123_Blue (3).doc 01/01/2015
- Cat_123123_Pink (7).doc 10/04/2015
现在,就我的想法而言,
gci C:\MoveFile\*.doc | sort LastWriteTime -desc | select -first 1 | cpi -dest c:\NewDirectory
我没有测试过,因为我知道它不完整,也不会做我需要做的事情,老实说,我知道不知何故我需要忽略括号中的任何内容,例如(3) 我不知道该怎么做。我曾考虑过仅查看前 15 位数字的“不知何故”,但某些文件名可能比这更长或更短。
沮丧地抓挠我的头,有比我更有经验的人有什么想法吗?
【问题讨论】:
-
我不明白结果中你的两个“猫”文件背后的逻辑。
标签: powershell move