使用 cmd 或 Powershell 将多个文件重命名为“修改日期/时间”

使用 cmd 或 Powershell 将多个文件重命名为“修改日期/时间”

我文件夹中有数百个 JPG 文件。我想重命名每个文件,以便将文件名替换为该文件的“修改日期/时间”,即DD.MM.RRRR.HH.MM.jpg。例如,

Before    After  

001.jpg   11.01.2011.16.58.jpg  
002.jpg   12.01.2011.09.32.jpg  
003.jpg   14.01.2011.12.41.jpg  
...       ...

由于文件名中不能使用冒号 (:),因此必须将 HH 和 MM 之间的冒号替换为句点。

我不想使用第三方工具。您能提供在 Powershell 或命令行中实现此目的的代码吗?

答案1

在 Powershell 中尝试此操作:

Get-ChildItem *.jpg | Rename-Item -newname {$_.LastWriteTime.toString("dd.MM.yyyy.HH.mm") + ".jpg"}

答案2

我希望你们不介意我在这里的反馈。

“重命名项目”给了我这个错误: 重命名项:当文件已存在时无法创建文件。

因此,我按照如下方式添加到 Siim K 的解决方案中并在“Windows Powershell ISE”中运行它:

Get-ChildItem *.jpg |ForEach-Object {
    $NewName = $_.LastWriteTime.toString("yyyy.MM.dd.HH.mm.ss.ss")+($script:i++) + ".jpg"
    $Destination = Join-Path -Path $_.Directory.FullName -ChildPath $NewName
    Move-Item -Path $_.FullName -Destination $Destination -Force
}

我发现“yyyy.MM.dd.mm.ss.ss”顺序可以更好地列出我的图像,并且我意识到文件夹中的图像数量没有减少(意外清除)。我希望这对其他“超级用户”(初学者或有经验者)有所帮助。

答案3

这些回应都很好,但是有一个名为 Advanced Renamer 的第三方程序可以以您想要的任何格式完成所有这些操作。新名称选项。新案例选项。删除模式选项。替换选项。重新编号选项。它非常灵活。它甚至有撤消选项。您将要重命名的文件拖到窗口右侧,然后开始选择所需的选项。选择它们时,您会在开始批处理之前看到更改的样子。

免费版本不受限制。如果您喜欢该软件,您可以购买许可证。既然您可以在实际实施之前看到建议的更改,为什么还要费心使用您经常会输入错误的命令行呢?

如果您想要更轻量级的程序,可以使用 UltraRenamer。它没有无限的选项,但仍然非常有用,可以在您执行重命名过程之前显示更改。

相关内容