我编写了一个简单的PowerShell脚本,通过允许她手动指定正确的创建日期来帮助我的妻子组织一些导入的iPhone视频文件。它似乎按预期工作,除了如果我复制其中一个文件,我不能在副本上设置创建日期。
注意:在这种情况下,时间可以忽略不计。
$movFiles = Get-ChildItem "C:\Users\jgrant\Desktop\videos" -Filter *.MOV
Foreach ($file in $movFiles) {
$fileName = $file.Name
$userDate = Read-Host -Prompt "Date wanted for ${fileName} (format--> 1970-02-13) "
$newDateObj = Get-Date -Date $userDate
$item.CreationTime = $newDateObj
}
验证结果时,所有文件都已正确修改,但我刚复制的文件除外。有没有办法强制修改创建日期(在复制之前不能更改它)?具体来说,阻碍了什么机制?
答案 0 :(得分:1)
正如autosvet在他们的评论中所指出的那样,我的变量名中只是犯了一个错误。更正是将变量$ item更改为$ file。这是正确的代码:
$movFiles = Get-ChildItem "C:\Users\jgrant\Desktop\videos" -Filter *.MOV
Foreach ($file in $movFiles) {
$fileName = $file.Name
$userDate = Read-Host -Prompt "Date wanted for ${fileName} (format--> 1970-02-13) "
$newDateObj = Get-Date -Date $userDate
$file.CreationTime = $newDateObj
}
再次感谢autosvet。