如何根据时间戳重命名某些文件

如何根据时间戳重命名某些文件

假设系统每天在 D:\Temp 下生成 10 个文件,文件名称都是随机生成的。

假设我需要将最旧的一个重命名为“aaa”,将第二旧的重命名为“bbb”...然后是“ccc”...“ddd”。

有人可以帮忙写批处理脚本吗?Powershell cmdlt 也很好。

谢谢!

答案1

以下是使用名称列表的解决方案:

$names = @('one.txt', 'two.txt', 'three.txt', 'four.txt', 'five.txt', 'six.txt', 'seven.txt', 'eight.txt', 'nine.txt', 'ten.txt')
$count = 0
foreach($file in (Get-ChildItem i:\temp | Sort-Object LastWriteTime | Select-Object -First 10)){
    Rename-Item $file.FullName (Join-Path $file.DirectoryName $names[$count])
    $count++
}

答案2

如何命名它们很重要。使用 1,2,3,4 之类的东西最简单。您需要声明名称和增量器的变量。虽然这相对简单直接。为了找到创建顺序:

Get-ChildItem h:\CallCList | Sort-Object CreationTime |`
    ForEach-Object {
    Rename-Item $_.Name -NewName $NameToUse
    }

这将是查找和重命名的工作。

相关内容