Salve este script como Set-DateCreatedFromName.ps1
:
Param
(
[string[]]$Path,
[string]$Filter = '*.mp4',
[switch]$Recurse
)
$Path | Get-ChildItem -Recurse:$Recurse -Filter $Filter | ForEach-Object {
$DateTime = Get-Date
$IsValidDate = [DateTime]::TryParseExact(
$_.BaseName,
# replace with 'MMM dd,[email protected]' if using single digit for hours/minutes/seconds
'MMM dd,[email protected]',
[System.Globalization.CultureInfo]::InvariantCulture,
[System.Globalization.DateTimeStyles]::None,
[ref]$DateTime
)
if($IsValidDate){
$_.CreationTime = $DateTime
}
}
Execute-o no PowerShell da seguinte forma:
& .\Set-DateCreatedFromName.ps1 -Path 'C:\MP4-1', 'D:\MP4-2' -Recurse -Filter '*.mp4'
Argumentos:
-
-Path
- Obrigatório. Matriz de caminhos. Por exemplo:'C:\MP4-1', 'D:\MP4-2'
-
-Recurse
- Opcional. Recurse em subdiretórios,false
se omitido. -
-Filter
- Opcional,*.mp4
se omitido.