如何使用 .csv 数据修改多个文件的创建日期属性?
How to modify the date-created attribute for multiple files using .csv data?
我不确定如何表达我的问题,因为我不熟悉它,
但 Powershell 可能是我需要使用的。
我看到了这个:need to change file created date based on csv(4 年前)
并想知道如何将其应用到我的问题中。
文件夹 videos
中有许多 .mp4
文件具有不正确的 date-created
属性。
我还有一个 .csv
文件,它按时间顺序列出了 videos
中的所有文件(使用各自的文件名)。
第一个文件从 2019 年 11 月 15 日开始,每个后续视频都是在前一个视频之后创建的。
powershell 如何使用 .csv
文件中的文件行帮助我修改每个文件的 date-created
属性。
CSV 文件: 包含按时间顺序排列的文件名
video1
video2
video3
...
视频文件夹:
name date created
video1 dd/mm/yyyy
video2 dd/mm/yyyy
video3 dd/mm/yyyy
... ... <---- dates are incorrect
我想要什么:
name date created
video1 15/11/2019
video2 16/11/2019
video3 17/11/2019
... ... <---- dates are in chronological order according to .csv file
感谢您的帮助!
假设:
A) 你所有的文件都在同一个文件夹中
或 B) 您的 CSV
中有完整路径
AND C) 你的 csv 文件 header 被称为 filename
$csvfile = 'Path\to\csvfile.csv'
$startdate = Get-Date 11/15/2019
Set-Location Path\to\videofiles
Import-Csv $csvfile | ForEach-Object {
#set creationtime
(Get-Item $_.filename).CreationTime = $startdate
#increase date by one day
$startdate = $startdate.AddDays(1)
}
@Doug Maurer 提供了一个不完整的答案(没有用)所以这里是有效的解决方案:
$csvfile = 'path/to/csvfile.csv'
$startdate = [datetime]::ParseExact('15/11/2019','dd/MM/yyyy',$null)
Set-Location 'path/to/folder'
Import-Csv $csvfile | ForEach-Object {
#set creationtime
(Get-Item $_.filename).CreationTime = $startdate
#increase date by one day
$startdate = $startdate.AddDays(1)
}
我不确定如何表达我的问题,因为我不熟悉它, 但 Powershell 可能是我需要使用的。
我看到了这个:need to change file created date based on csv(4 年前)
并想知道如何将其应用到我的问题中。
文件夹 videos
中有许多 .mp4
文件具有不正确的 date-created
属性。
我还有一个 .csv
文件,它按时间顺序列出了 videos
中的所有文件(使用各自的文件名)。
第一个文件从 2019 年 11 月 15 日开始,每个后续视频都是在前一个视频之后创建的。
powershell 如何使用 .csv
文件中的文件行帮助我修改每个文件的 date-created
属性。
CSV 文件: 包含按时间顺序排列的文件名
video1
video2
video3
...
视频文件夹:
name date created
video1 dd/mm/yyyy
video2 dd/mm/yyyy
video3 dd/mm/yyyy
... ... <---- dates are incorrect
我想要什么:
name date created
video1 15/11/2019
video2 16/11/2019
video3 17/11/2019
... ... <---- dates are in chronological order according to .csv file
感谢您的帮助!
假设:
A) 你所有的文件都在同一个文件夹中 或 B) 您的 CSV
中有完整路径AND C) 你的 csv 文件 header 被称为 filename
$csvfile = 'Path\to\csvfile.csv'
$startdate = Get-Date 11/15/2019
Set-Location Path\to\videofiles
Import-Csv $csvfile | ForEach-Object {
#set creationtime
(Get-Item $_.filename).CreationTime = $startdate
#increase date by one day
$startdate = $startdate.AddDays(1)
}
@Doug Maurer 提供了一个不完整的答案(没有用)所以这里是有效的解决方案:
$csvfile = 'path/to/csvfile.csv'
$startdate = [datetime]::ParseExact('15/11/2019','dd/MM/yyyy',$null)
Set-Location 'path/to/folder'
Import-Csv $csvfile | ForEach-Object {
#set creationtime
(Get-Item $_.filename).CreationTime = $startdate
#increase date by one day
$startdate = $startdate.AddDays(1)
}