需要在重命名文件中更改lastwritetime

时间:2019-06-20 14:59:08

标签: powershell powershell-3.0 powershell-4.0

如果多个文件具有相同的时间戳,我想向lastwritetime寻求帮助。

我正在使用以下查询以预定义的$ prefix + $ lastwritetime来获取并重命名文件名,假设如果多个具有相同时间戳的文件意味着我无法重命名这些文件,那么在这种情况下第一个文件将被Lastwritetime重命名我需要更改Lastwritetimes秒,以便创建文件。

感谢您的帮助。

$FilePath = $ToPath+"\"+$ToFile

Get-ChildItem -Path $FilePath  | Foreach { Rename-Item $_ -NewName ($Prefix+$_.LastWriteTime.ToString("yyMMddhhmm"))  }

假设两个文件的Lastwritetime为20190619082733我需要它,因为20190619082734 +或-可以。我曾尝试使用AddMinutes(-“ 2”),但我缺少一些建议。

1 个答案:

答案 0 :(得分:0)

尝试添加分钟(-2)。它需要一个int而不是一个字符串。像这样:

Get-ChildItem -Path $FilePath  | Foreach-Object {
    $DateString = $_.LastWriteTime.AddMinutes(-2).ToString("yyMMddhhmm")
    Rename-Item $_.FullName -NewName ($Prefix + $DateString + $_.Extension)
    }

如果您希望字符串中包含秒,则应采用以下格式:

$DateString = $_.LastWriteTime.AddMinutes(-2).ToString("yyMMddhhmmss")