Bonsoir à tous,
J'ai des photos. Beaucoup. Qui ne sont pas obligatoirement rangées au bon endroit. Je m'en suis aperçu quand la date de mon mariage n'était pas la bonne...
J'ai vu que, dans les propriétés de ces photos, LastWriteTime correspondait à la date de la prise de vue.
Je peux donc scripter le rangement de mes photos...
je voudrais récupérer le LastWriteTime, qui a cette tête là:
1 2 3 4 5 6
| ${PhotoList} = Get-ChildItem ${SourceDirectory} -Recurse
foreach (${Photo} in ${PhotoList}) {
If ( Test-Path ${Photo} -PathType Container ) {
Write-Host ${Photo}.LastWriteTime
}
} |
Qui me renvoie, par exemple:
Ensuite vérifier si le répertoire 2006-05-28 existe, et, si tel n'est pas le cas, le créer.
1 2 3
| If ( !(Test-Path ${TargetDirectory}) ) {
New-Item ${TargetDirectory} -type directory
} |
Une fois que le bon répertoire est créé, déplacer le contenu au bon endroit.
Move-Item ${Photo} ${TargetDirectory}
Il faudra encore faire des contrôles (est-ce qu'un fichier avec ce nom là existe déjà ou pas...) mais mon gros problème, dans l'immédiat, est de passer de mon LastWriteTime comme ça: 2006/05/28 à mon ${TargetDir} comme ça: 2006-05-28
Des idées ? Un SED version powershell ?
D'avance Merci,
Jean-Bernard
Partager