修改Powershell中的LastWriteTime目录

时间:2014-02-07 14:37:54

标签: powershell directory windows-7-x64 propertychanged

我想更改文件夹lastWriteTime而不修改此目录中文件的lastWriteTime。

我一直在尝试这个:

$a = Get-Date "02/09/2013 4:59 PM"
$d = "C:\Users\user\Documents\CV"
$d.LastWriteTime = $a

但它没有工作,因为d没有LastWriteTime属性。 有什么办法可以改变这个属性吗?我必须修改lastTimeWrite属性只有“CV”目录 - 不应该触及“CV”中的文件。

2 个答案:

答案 0 :(得分:3)

一种方法是将其投射到[system.io.directoryinfo]

$a = Get-Date "02/09/2013 4:59 PM"
$d = [system.io.directoryinfo]"C:\Users\user\Documents\CV"
$d.LastWriteTime = $a

或使用get-item cmdlet

$a = Get-Date "02/09/2013 4:59 PM"
$d = get-item C:\Users\user\Documents\CV
$d.LastWriteTime = $a

答案 1 :(得分:-1)

Function Touch-File
#Touches a file or folder if the file does not exist it creates a new empty    file
    {
    $file = $args[0]
    $date = $args[1]

    if($file -eq $null) {
        throw "No filename supplied"
    }

    if($date -eq $null) {
        throw "No date supplied"
    }

    if(Test-Path $file)
    {
    #Optionally select the date stamp you want to update

         (Get-Item $file).LastWriteTime = $date
         (Get-Item $file).CreationTime = $date
         (Get-Item $file).LastAccessTime =$date
     }
     else
    {
         echo $null > $file
    }
}