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


8

我在一个文件夹中有数百个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或命令行中实现此目标的代码吗?

Answers:


14

在Powershell中尝试以下操作:

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

0

希望你们不要介意我的反馈。

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

因此,我将Siim K的解决方案添加如下,并在“ Windows Powershell ISE”中运行了该解决方案:

Get-ChildItem * .jpg | ForEach对象{$ 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'顺序列出了我的图像,并且我发现文件夹中的图像数量也没有减少(意外清除)。我希望这对其他“超级用户”(初学者或有经验的人)有所帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.