Loo*_*oom 1 powershell datetime rename-item-cmdlet
我有一个文件夹,其中包含按时间戳命名的媒体文件,如下所示yyyyMMdd_HHmmss_*.*
。我需要将它们重命名为yyyy-MM-dd HH-mm-ss *.*
例如,我需要将文件重命名20181019_210353_BURST2.jpg
为2018-10-19 21-03-53 BURST2.jpg
有一个我的丑陋方法
PS E:> gci | Rename-Item -NewName { $_.Name.Substring(0,4) + '-' + $_.Name.Substring(4,2) + '-' + $_.Name.Substring(6,2) + ' ' + $_.Name.Substring(9,2) + '-' + $_.Name.Substring(11,2) + '-' + $_.Name.Substring(13,2) + $_.Name.Substring(15) }
Run Code Online (Sandbox Code Playgroud)
实现我的目的的正确命令是什么?
如果您需要简洁,可以将-replace
运算符与以下正则表达式一起使用:
Get-ChildItem -File -Filter *.jpg | Rename-Item -NewName {
$_.Name -replace '(^\d{2})?(\d{2})(\d{2})(\d{2})_', '$1$2-$3-$4 '
} -WhatIf
Run Code Online (Sandbox Code Playgroud)
注意:上面命令中的-WhatIf
公共参数预览操作。-WhatIf
一旦您确定该操作将按照您的要求进行,请将其删除。
可以在此 regex101.com 页面上找到该正则表达式的说明以及对其进行实验和替换表达式的能力。
归档时间: |
|
查看次数: |
396 次 |
最近记录: |