0

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

$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”行,以便它自动将日期设置为今天,而我不必输入手动日期。

4

1 回答 1

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
于 2012-11-22T12:09:17.370 回答