通过重新排列原始名称重命名文件

时间:2017-11-20 14:20:22

标签: powershell batch-file

我有一堆文件都以开头的日期命名,例如:

30062017.TRADARCASHROLLUP.MCLTIRHK.CSV

是否可以重新安排此日期,而不是DD / MM / YYYY,它将以YYYY / MM / DD开头

2 个答案:

答案 0 :(得分:2)

这是一个解决方案:

$OldFileName = '30062017.TRADARCASHROLLUP.MCLTIRHK.CSV'    
$NewDateString = ([datetime]::ParseExact($OldFileName.Substring(0,8), "ddMMyyyy", $null)).ToString('yyyyMMdd')
$NewFileName = $OldFileName -Replace '^.{8}',$NewDateString

$NewFileName

这使用.NET ParseExact方法将字符串的前8个字符转换为datetime对象,然后使用.ToString以反向格式化它。

然后我们使用RegEx替换来用新字符串替换文件名的前8个字符。

答案 1 :(得分:1)

在powershell中使用此格式创建文件:

$format1 = '{0:yyyy/MM/dd}' -f (Get-Date)
$format2 = ".TRADARCASHROLLUP.MCLTIRHK.CSV"
$format+$format2

希望它有所帮助。