尝试根据现有文件名重命名几千个文件。所有文件都位于各个子文件夹中,并由文件名格式为的程序输出: yyyy-mm-dd_filenameinfo.txt
需要重命名为: dd-MMM-yyyy_filenameinfo.txt
一个例子是: 2008-03-14_outputs.txt,已更改为 14-MAR-2008_outputs.txt
我知道这样做会造成按日期排序的损失,但是不幸的是,这是提交过程的要求。
我已经进行了一些研究,但是我对cmd线或powershell非常陌生,无法找到已经询问此问题的位置。
答案 0 :(得分:0)
详细说明:
Get-ChildItem [12][09][0-9][0-9]-[01][0-9]-[0-3][0-9]_* -File -Recurse
递归返回文件名称,该文件名称以该世纪/上一个世纪的日期开头
|Rename-Item -Newname {'{0:dd-MMM-yyyy}_{1}' -f (Get-Date ($_.Name.Split('_')[0])),($_.Name.Split('_')[1])}
这里:
$_.Name.Split('_')
将名称分为两部分,附加索引[0],[1]选择第一,第二部分。
Get-Date将日期转换为[datetime],该日期由-f format operator
和dd-MMM-yyyy进行OTOH转换为所需格式。