我有一个包含几百个文件的文件夹。它们被命名为将一堆文件重命名为基于文件日期部分的一系列日期?
- file.001.txt
- file.002.txt
- file.003.txt
- ...
- file.223.txt
我正在尝试编写一个PowerShell脚本,用以下逻辑重新命名它们。取一个关键日期。说1/1/2015。然后根据文件名末尾的索引号迭代该日期。所以,你最终用:
- file.01.02.2015.txt
- file.01.03.2015.txt
- file.01.04.2015.txt
- ...
- 文件。 08.12.2015.txt
代码示例我已经剔除了,但不知如何表达这一点。
Get-ChildItem "C:\MyFiles" -Filter
*.txt | Foreach-Object {
$OldName = $_.name;
$IndexPortion = $_.name.Substring(6,3)
$DatePortion = [datetime]::ParseExact('01/01/2015','MM/dd/yyyy',$null).AddDays($IndexPortion)
## ??? $NewName = $_.name -replace $IndexPortion, $DatePortion -format yyyy.MM.dd
Rename-Item -Newname $NewName;
Write-Output $("Renamed {0} to {1}" -f $OldName, $NewName)
}
这工作了魅力的感谢状。如果进行各种类型的转换等,我会迷路。这就是我从C#背景得到的结果。 – RThomas