如何使用TimStamp Appended文件名选择正确的文件并将最后一个删除的文件复制到另一个文件夹中?
我正在尝试使用文件名(文件名中的时间戳)选择正确的文件。
我有3个文件:text.041922.061512
,text.041922.063016
,text.041922.064212
。我需要选择text.041922.064212
,因为它是最后创建的,它在文件名本身上具有数据和时间。如何使用PowerShell实现这一目标?
提前致谢。我真的很感激。
我的脚本是:
Get-ChildItem -Path "c:/demo | Sort-Object { [DateTime]::ParseExact($_.BaseName.Substring(7,13).Replace('.',' '), "MMddyy hhmmss",$null) } | Select-Object -First 1 | Copy-Item -Destination "E:/test/"
I am trying to pick the right file using file name(timestamp appended in the file name).
I have 3 files: text.041922.061512
, text.041922.063016
, text.041922.064212
. I need pick text.041922.064212
because it was created last which has data and time on the file name itself. How do i achieve this using PowerShell?
Thanks in advance. I would really appreciate it.
My script is this:
Get-ChildItem -Path "c:/demo | Sort-Object { [DateTime]::ParseExact($_.BaseName.Substring(7,13).Replace('.',' '), "MMddyy hhmmss",$null) } | Select-Object -First 1 | Copy-Item -Destination "E:/test/"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的文件名称缺少其扩展名,但是假设扩展名没有任何数字数字,则可以使用
-replace'\ d+'
从文件名中删除所有非数字数字,然后对于parseexact
可以是mmddyyhhmmss
。如果这些文件实际上没有扩展名,请使用
$ _。名称
而不是$_。Basename
。这是一个可以用于测试的示例:
Your file names are missing their extension, but assuming the extension doesn't have any numeric digits, you could use
-replace '\D+'
to remove all non numeric digits from the file names and then the format forParseExact
could beMMddyyHHmmss
.If the files actually don't have an extension, use
$_.Name
instead of$_.BaseName
.Here is an example that you can use for testing: