修改Powershell脚本以修改所选目录中子文件夹的“上次修改日期”

时间:2012-11-22 12:02:43

标签: windows powershell

我创建了以下脚本,该脚本已经过测试并成功运行,用于修改所选文件夹中包含的所有文件的“上次修改日期”。

$a = Get-Date "22/11/2012 10:00 AM"

$b = Get-ChildItem "C:\MyFiles"

foreach ($i in $b)
{
    $i.LastWriteTime = $a
    $a = $a.AddMinutes(1)    
}

$b

我正在寻找一些帮助修改此脚本以包含所选文件夹中的所有子文件夹/文件,因为我目前不得不手动修改它以更改“C:\ MyFiles”子文件夹中的日期。例如“C:\ MyFiles \ A”,“C:\ MyFiles \ B”......等等。

另外..我也想知道如何删除“$ a = Get-Date”22/11/2012 10:00 AM“以便它自动将日期设置为今天,我没有手动输入日期。

1 个答案:

答案 0 :(得分:1)

像这样?

    $a = get-date
    $b = Get-ChildItem "C:\MyFiles" -recurse | ? { !$_.psiscontainer }
    foreach ($i in $b)
    {
        $i.LastWriteTime = $a 
        $a = $a.AddMinutes(1)    
    }

    $b

或者如果您不需要在每个文件后添加一分钟:

     $dir = read-host "Insert path"
     $b = Get-ChildItem $dir -recurse | ? { !$_.psiscontainer }
    foreach ($i in $b)
    {
        $i.LastWriteTime = get-date               
    }

    $b