如何重命名文件夹下的所有文件名以在 Windows 中添加修改日期作为前缀

How to rename all file names under a folder to add modified date as prefix in Windows

我有一个文件夹 C:\Documents

文件夹下有超过100个文件。

file1.docx 
blah.docx
.
.

我想将所有文件重命名如下,其中 modified_date 来自文件的 LastWriteTime 时间戳:

A_{modified_date}_filename 注意一定要是 ddMMyyyy 格式.

示例输出:

A_01012015_file1.docx
A_20122014_blah.docx

我可以编写一个简单的控制台应用程序来实现这一点。但只是想知道是否有内置或使用 Powershell 的现有工具?

谢谢

您的意思是像这样在文件名中包含最后写入日期:

Get-ChildItem | 
  Rename-Item -NewName {'A_' + $_.LastWriteTime.ToString('ddMMyyyy') + $_.name}

通过使用@Dave 回答。

我也想出了如何在每个单独文件的末尾添加任何前缀。

Get-ChildItem | 
Rename-Item -NewName {$_.BaseName+'_'+$_.LastWriteTime.ToString('ddMMyyyy')+$_.Extension}

请注意 PS v2 及更高版本支持 BaseName。

我希望它能帮助其他人。

PS v2 及更高版本支持 BaseName。

cmd /c for /F "tokens=1,2,3,4 delims=/. " %a in ('date/T') do forfiles /p <PATH> /m *.xlsx /c "cmd /c ren @file %c%b%a_@file"