2017-03-08 71 views
1

我寫了一個簡單的PowerShell腳本,通過允許她手動指定正確的創建日期來幫助我的妻子組織一些導入的iPhone視頻文件。它似乎按預期工作,除了如果我製作其中一個文件的副本,我無法在副本上設置創建日期。PowerShell腳本集創建日期在文件副本上失敗

注意:在這種情況下,一天的時間可以忽略不計。

$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 
} 

在驗證結果時,除了我剛剛拷貝的文件外,所有文件都已被正確修改。有沒有辦法強制修改創建日期(在複製之前不需要更改)?具體來說,是什麼機制阻礙了這一進程?

+2

您應該使用$ file.CreationTime,而不是$ item.CreationTime – autosvet

+0

它就在那裏。謝謝。 –

+0

簡單:)你想重新發布它作爲答案嗎? – autosvet

回答

0

正如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。