假设系统每天在 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
}
这将是查找和重命名的工作。