私は数百のファイルを含むフォルダを持っています。彼らの名前はファイルの日付の部分に基づいて一連のファイルを一連の日付に名前を変更しますか?
- file.001.txt
- file.002.txt
- file.003.txt
- ...
- file.223.txt
私は、次のロジックでそれらの名前をすべて変更するためのpowershellスクリプトを書こうとしています。キー日付を取る。 2015年1月1日と言ってください。そして、ファイル名の最後にあるインデックス番号に基づいて、その日付を繰り返します。
- 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